プロが教えるわが家の防犯対策術!

MYSQLに格納したデータに”(1)(2)(3)”という文字があります。
これを、PHPより
$output1 = mb_convert_encoding( $out_contents, "SJIS", "utf-8");
エンコードしてCSV出力しているのですが、

excelで開いたとき?と”(1)(2)(3)”の部分だけ文字化けしてしまします。

どなたか対処方法ご存じでしょうか?

A 回答 (1件)

(1)とは、○に数字が入った文字のことでしょうか。


それらの文字は、かつてNECが独自に拡張したいわゆる「機種依存文字」というもので、正式なShift JIS には含まれない文字です。
Windows では、Shift JISに独自の拡張を施して、このNECな機種依存文字が使えるようになってます。(CP932と呼ばれる文字セットです)

mb_convert_encoding は、正しいShift JISの範囲内で変換しようとするので、○数字は「変換先に存在しない文字」になってしまいます。

SJIS の代わりに sjis-win を使えば、丸数字なども変換できます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!