Here's a tiny XS mod_perl module to configure AddDefaultCharset stuff from mod_perl. This is my first XS hack, thanks to mod_perl developer's cookbook.
Any suggestions are welcome. http://bulknews.net/lib/archives/Apache-DefaultCharset-0.01.tar.gz =head1 NAME Apache::DefaultCharset - AddDefaultCharset configuration from mod_perl =head1 SYNOPSIS use Apache::DefaultCharset; my $charset = Apache::DefaultCharset->new($r); print "default_charset_name is ", $charset->name; # or print "default charset is $charset"; will do (overload) $charset->name('euc-jp'); # modify default_charset_name in run-time =head1 DESCRIPTION Apache::DefaultCharset is an XS wrapper for Apache Core's C<AddDefaultCharset> configuration. =head1 EXAMPLES =head2 Unicode Handling Suppose you develop multi-language web application, and transparently decode native encodings into Unicode string inside Perl (5.8 or over would be better). First you should add AddDefaultCharset euc-jp in your C<httpd.conf>, then leave off C<send_http_header> arguments just to text/html. Then you can get the current configuration with this module when you use C<Encode> or C<Text::Iconv> to decode the HTTP request query into Unicode. =head2 Modification of DefaultCharset Suppose you want to add utf-8 for XML files, and Shift_JIS for HTML files as HTTP charset attribute by default ("By default" means that if you set C<content_type> explicitly in content-generation phase, that will be prior to the defalut). This module enables you to write C<PerlFixupHandler> to configure C<add_default_charset_name> in run-time. =head1 AUTHOR Tatsuhiko Miyagawa E<lt>[EMAIL PROTECTED]<gt> This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =head1 SEE ALSO L<Apache::GuessCharset> mod_perl cookbook at http://www.modperlcookbook.com/ =cut