• ベストアンサー

utf8 の (1)(2)(3) を sjis で表示

MYSQLに格納したデータに”(1)(2)(3)”という文字があります。 これを、PHPより $output1 = mb_convert_encoding( $out_contents, "SJIS", "utf-8"); エンコードしてCSV出力しているのですが、 excelで開いたとき?と”(1)(2)(3)”の部分だけ文字化けしてしまします。 どなたか対処方法ご存じでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.1

(1)とは、○に数字が入った文字のことでしょうか。 それらの文字は、かつてNECが独自に拡張したいわゆる「機種依存文字」というもので、正式なShift JIS には含まれない文字です。 Windows では、Shift JISに独自の拡張を施して、このNECな機種依存文字が使えるようになってます。(CP932と呼ばれる文字セットです) mb_convert_encoding は、正しいShift JISの範囲内で変換しようとするので、○数字は「変換先に存在しない文字」になってしまいます。 SJIS の代わりに sjis-win を使えば、丸数字なども変換できます。

関連するQ&A