人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

phpでcopyを失敗したときに、例外をスローして
$e->getMessage()をするのですが、
この文字が文字化けしています。
mb_convert_encodingでeuc-jpからutf-8にコンバートすると
正しく表示されるのですが、なんでeuc-jpなんでしょうか。
それと、これはcopyに限ったことでしょうか。
db接続でpdoとかのときは...また別になりますかね。これまで発生したことないですし。
それとも、毎回、mb_convert_encoding($e->getMessage(), 'utf-8', 'euc-jp'))
する必要があるのでしょうか。
どうぞよろしくお願いします!!

●質問者: FujiiRock
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● たいがあ
●100ポイント

内部文字エンコーディングがEUC-JPになっているのではないでしょうか。

echo mb_internal_encoding();



結果がEUC-JPならば

mb_internal_encoding("UTF-8");

で、エンコーディングをUTF-8にしておくと改善されるかと思います。


FujiiRockさんのコメント
ありがとうございます! なるほど。 echo mb_internal_encoding()してみると、 「ISO-8859-1」でした。 mb_internal_encoding("UTF-8");とセットしてから copyをしても文字化けしてしまう。 internal_encodingは無関係なのでしょうかね。。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ