PHP+MySQL環境をさくらインターネットのレンサバ上で利用しています。
PHP上で一部の文字が正しくエンコードできず解決方法を教えて頂きたいです。
データベースの文字コードはUTF-8です。
まず、phpMyAdminからエンコードをShift-Jisに設定しエクスポートを行うと
設定条件次第ですが、文字化けせずにExcelで開く事ができます。
(ファイル形式をCSVに設定すると以下1と同様で文字化けします)
一方で、以下の手順では大半の文字は正常に表示されるものの
特定の文字(※1)が正常に表示されません。
1.phpMyAdminのエクスポートでエンコードを変換せずにCSVを取得し
Windows上のテキストエディタでShift-Jisに変換しようとすると
エンコードできない文字(※1)が含まれるとアラートが発生
2.PHP上でMySQLからデータ取得し
mb_convert_encodingでUTF-8からShift-Jisに変換し
CSVでダウンロードさせた場合も同じ特定の文字(※1)が?と表示される
※1.优、〜、✯など
通常避けるべき特殊文字なのかもしれませんが
phpMyAdminの変換では最終的にExcelで文字化けが発生しないエクスポートができるため
PHP上でも変換できるものと考えております。
解決方法を教えて頂ければ助かります。
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー