PHPを使ってCSVから読み込んだデータを表示させる時、管理上mb_convertなどを使って殆どが表示できているのですが、人名で一部『異体文字』というか『機種依存文字』が使われているため、表示ができず『?(クエスチョンマーク)』になってしまうときはどのように対処されていますでしょうか。
現在、当方環境において文字化けしている文字は下記の通りです。
- ざき(http://unicode.org/cldr/utility/character.jsp?a=FA11)
- やなぎ(http://unicode.org/cldr/utility/character.jsp?a=6801)
補足
CSVファイルはエクセル由来のものではありません。さくらエディタでは『SJIS』とプロパティが表示されていました。
これをMySQLにphpのmb_convert_encording($str,'UTF-8','sjis')でエンコードして登録しました。
登録されたデータをphpMyAdmin経由で確認したところ、この時点で「クエスチョンマーク」扱いになっていました。
最終的にCSVファイルに集計結果として出力しているんですが、出力されたCSVファイルには文字化けしない状態のまま出力されていました。
本プログラムを利用する予定の利用者は、異体文字を使用する社員の氏名を把握しているため、一文字程度はてなマークになっていたところで誰かは判別できているので、このままでも一応は大丈夫なのですが、文字化けしているのと勘違いしやしすく気持ち悪いと思ってしまいます。
回答3件
あなたの回答
tips
プレビュー