- ベストアンサー
auのコンテンツ作成にて文字化け
- auのコンテンツ作成において、perlで作成したスクリプトファイルをeucで書いているため、文字化けが発生しています。
- ドコモやソフトバンクでは文字化けがないため、各キャリアがsjisを標準としていることがわかります。
- 現在、euc-jpと文字コードの指定を行っていますが、auの一部の機種ではeucに対応していない可能性があります。sjisで書かれたau.plを試しても解決しないため、他の解決策を探しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは、 Encode.pm とか、Jcode.pm とか、jcode.pl とかを使って、 出力するときに sjis に変換して出力すればいいんじゃないですかね。 Perl 5.8.x における日本語コード変換のメモ http://www.hikoboshi.org/perl/doc/encode.html Jcode.pm http://openlab.jp/Jcode/index-j.html jcode.pl の私的な解説書 http://mikeneko.creator.club.ne.jp/~lab/kcode/jcode.html ---- Encode ならこんな感じですかね ---- #! /usr/bin/perl use 5.8.0; use strict; use Encode; my $html = << "END_OF_HTML"; Content-Type: text/html <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>test</title> </head> <body> eucで保存したHTML </body> </html> END_OF_HTML print encode('shiftjis' , decode( 'euc-jp' , $html)); exit(); __END__ ---- Jcode.pm ならこんな感じですかね。---- #! /usr/bin/perl use strict; use Jcode; my $html = << "END_OF_HTML"; Content-Type: text/html <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>test</title> </head> <body> eucで保存したHTML </body> </html> END_OF_HTML print Jcode->new($html , 'euc')->sjis(); exit(); __END__
その他の回答 (1)
- g_p_
- ベストアンサー率53% (28/52)
#1です、何度もすみません。 > bbsを作っています。 なら、フォームからは shiftjis で渡ってくるでしょうから、 その辺りも忘れずに。