summaryrefslogtreecommitdiff
path: root/fml/lib/FML/Process
diff options
context:
space:
mode:
authorfukachan <fukachan>2003-10-18 04:43:51 +0000
committerfukachan <fukachan>2003-10-18 04:43:51 +0000
commitb998f0d32a3f4697d048b9bc3a82061c3102d433 (patch)
tree011a40466e9392e1d70bc7c8bce2ffa2b82f057b /fml/lib/FML/Process
parentd255d6ed481544d3e737117237a040ef28ebdf8f (diff)
downloadfml8-b998f0d32a3f4697d048b9bc3a82061c3102d433.tar.gz
fml8-b998f0d32a3f4697d048b9bc3a82061c3102d433.tar.bz2
fml8-b998f0d32a3f4697d048b9bc3a82061c3102d433.zip
Mail::Message::Charset has tables on code, charset and languge.
FML::Process::CGI::Kernel is modified to use it.
Diffstat (limited to 'fml/lib/FML/Process')
-rw-r--r--fml/lib/FML/Process/CGI/Kernel.pm21
1 files changed, 12 insertions, 9 deletions
diff --git a/fml/lib/FML/Process/CGI/Kernel.pm b/fml/lib/FML/Process/CGI/Kernel.pm
index ad68a960..cbbf4f81 100644
--- a/fml/lib/FML/Process/CGI/Kernel.pm
+++ b/fml/lib/FML/Process/CGI/Kernel.pm
@@ -4,7 +4,7 @@
# All rights reserved. This program is free software; you can
# redistribute it and/or modify it under the same terms as Perl itself.
#
-# $FML: Kernel.pm,v 1.63 2003/10/15 10:12:51 fukachan Exp $
+# $FML: Kernel.pm,v 1.64 2003/10/16 15:06:57 fukachan Exp $
#
package FML::Process::CGI::Kernel;
@@ -117,17 +117,19 @@ sub prepare
sub _set_charset
{
my ($curproc) = @_;
- my $lang = $curproc->cgi_var_language() ||
- $curproc->_http_accept_language();
+ my $lang =
+ $curproc->cgi_var_language() || $curproc->_http_accept_language();
- if ($lang =~ /japanese|^ja/i) {
- $curproc->set_charset("template_file", 'euc-jp');
- }
- elsif ($lang =~ /english|^en/i) {
- $curproc->set_charset("template_file", 'us-ascii');
+ use Mail::Message::Charset;
+ my $obj = new Mail::Message::Charset;
+ my $charset = $obj->language_to_internal_charset($lang);
+
+ if ($charset) {
+ $curproc->set_charset("template_file", $charset);
}
else {
- $curproc->set_charset("template_file", 'us-ascii');
+ my $default = $obj->internal_default_charset();
+ $curproc->set_charset("template_file", $default);
}
}
@@ -146,6 +148,7 @@ sub _http_accept_language
LANG:
for my $lang (split(/\s*,\s*/, $buf)) {
+ $lang =~ s/\s*;.*$//;
if ($lang =~ /^ja/) {
$r = 'ja';
last LANG;