運営サイト/オリジナルCMS   |   ダウンロードランキング   |   お問い合わせ

mb_convert_encoding、SJIS変換で文字化け

phpで、プログラム内のデータ(UTF-8)をCSVファイル(SJIS)に変換して出力する際、一部の文字が文字化けしました。

文字化けをした文字は」(特殊文字)です。

▼文字化けしたコード

$str = mb_convert_encoding($str, "SJIS", "UTF-8");
//$str の文字列の一部に「㎡」が入ってます。

としたら、「㎡」→「?」になってしまいました。

いろいろ調べたら、

Shift_JISの旧字体や、特殊文字を扱う場合は、mb_convert_encoding()の引数には「SJIS」ではなく、「sjis-win」を指定するらしいです。

ということで

▼修正したコード

$str = mb_convert_encoding($str, "sjis-win", "UTF-8");
// SJIS ではなく、sjis-win を使用

にしたら、見事文字化けが解決!!


参考になったら、ランキングにご協力ください。m(_ _)m

Filed under: PHP,忘れっぽいのでメモる — admin 19:12  Comments (0)
トラックバック

このエントリーのトラックバックURL:

コメントはまだありません »

コメントはまだありません。

コメントをどうぞ

コメントを書くにはログインが必要です。
ログイン

運営サイト/オリジナルCMS   |   ダウンロードランキング   |   お問い合わせ