[PHP-users 28686] 文字化け

choice info @ choice-site.com
2006年 3月 10日 (金) 10:53:25 JST


なかでと申します。

文字化けがどうしても解消しないので皆さんの知恵をお貸しください。
何が原因なんでしょうか?
またどうしたら解決するのでしょうか?

●用意したテストのファイルは以下の3つです。
.htaccess
1.html
1.php

それぞれのファイルの文字コードは
EUC
JIS
EUC
となっています。

ファイルの内容は

.htaccess

---
php_value default_charset EUC-JP
php_value mbstring.language Japanese
php_flag mbstring.encoding_translation ON
php_value mbstring.detect_order ASCII,JIS,SJIS,EUC-JP,UTF-8
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
php_value output_handler mb_output_handler
---

1.html

---
このページの文字コードはJISです。
<form method=post action=1.php>
<input name=name value='箱田'>
<input type=submit>
</form>
---

1.php

---
<?php
$incode=mb_detect_encoding($_POST['name']);
$outchar=mb_convert_encoding($_POST['name'],'EUC-JP',$incode);
echo '入力文字コード:'.$incode.'<br>';
echo '変換後文字列:'.$outchar.'<br>';
?>
---

●動作
1.html(jisページ)にアクセスするとテキストボックスに「箱田」という
値が入力されたフォームが表示されます。サブミットするとEUCに変換され
「箱田」と表示されるはずなんですが、実際には「卑・」となります。

なお、PHPは4.4.2です。
以上、よろしくお願いします。



----
nakade



PHP-users メーリングリストの案内