[PHP-users 28699] Re: 文字化け
choice
info @ choice-site.com
2006年 3月 10日 (金) 15:18:03 JST
パパぱふぅさま
レスありがとうございます。
なかでです。
----------------------- Original Message -----------------------
On Fri, 10 Mar 2006 14:51:17 +0900
papa pahoo <papa @ pahoo.org> wrote:
> なか様
>
> パパぱふぅです。JIS→EUCのエンコーディングだけ狂っているのでしょうか?
>
はい。
1.htmlをjis以外のsjis,euc,utf-8で保存しなおしてテストした
ところ問題はありませんでした。
> <?php
> mb_internal_encoding("EUC-JP");
> $euc0 = "箱田";
> $jis = mb_convert_encoding($euc0, "JIS", "EUC-JP");
> $euc1 = mb_convert_encoding($jis, "EUC-JP", "JIS");
>
> print "EUC(0): " . bin2hex($euc0) . "<br />\n";
> print "JIS : " . bin2hex($jis) . "<br />\n";
> print "EUC(1): " . bin2hex($euc1) . "<br />\n";
> ?>
>
> EUC(0)とEUC(1)の結果は同じになりますか?
EUC(0): c8a2c5c4
JIS : 1b2442482245441b2842
EUC(1): c8a2c5c4
となり同じ結果になります。
この結果を見るとスクリプト内でのjis->euc,euc->jisには問題が
ないようですね。
で、.htaccessについて見直してみました。
---
php_value default_charset EUC-JP
php_value mbstring.language Japanese
php_flag mbstring.encoding_translation ON
php_value mbstring.internal_encoding EUC-JP
php_value mbstring.http_input pass
php_value mbstring.http_output EUC-JP
php_value mbstring.substitute_character none
---
としていた(最初のメールから少し修正しています)のですが、
http.inputのところを
php_value mbstring.http_input pass
から
php_value mbstring.http_input auto
に変更すると正しく「箱田」と表示されました。
PHPへの入力の際に自動的にEUCに変換させるのと、PHPへの入力の際には
は変換せずにスクリプト内でEUCに変換させるのは同じことだと思って
いたのですが違いがあるのでしょうか。
うーん。なんでだろう?
では、失礼します。
>
> ==========================
> パパぱふぅ
> http://www.pahoo.org/
> ==========================
>
>
> _______________________________________________
> PHP-users mailing list PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3
----
PHP-users メーリングリストの案内