𡈽の字はShift_JISでは保存できない?
Webのシステムで「𡈽」の文字が入力されました。
データベースにはUTF-8で保存されています。
ブラウザでも表示はUTF-8なので表示されます。
後処理のためにWebシステムからCSV形式でダウンロードする際、UTF-8からShift_JISに文字コードを変換して保存したところ、「𡈽」の文字が消えてしまいました。
「𡈽」は保存できないかもしれないけれど、「?」になるか文字化けして保存されるものだと思っていました。
「?」になるか文字化けして保存されるのであれば、データを見ればなにかあったというのがわかりますが、消えてしまうのでは気づくことができません。
データベースにUTF-8で保存されているので、UTF-8のままダウンロードする機能を追加しました。
テキストエディタであれば、UTF-8のままのファイルでも開けますが、Excelではそのままで開けず文字化けしてしまいます。
Excelで開くのであれば、データにテキストファイルというアイコンがあるので、ファイルを指定して読み込むときに文字コードを指定すれば読み込めます。
他にはないのか?
文字コードShift_JISでダウンロードしたファイルと、文字コードUTF-8でダウンロードしたファイルを比較してみました。
文字コードShift_JISでダウンロードしたファイルを、テキストエディタで文字コードUTF-8に変換して保存しなおし、同じ文字コードにしてから比較ツールで比較しました。
比較した結果、ウムラウト記号(ä、ö、üなど)が入力されていて、ウムラウト記号がShift_JISでは消えていました。
ウムラウト - Wikipedia
UTF-8がなんでも標準になってくれると、文字がなくなる、文字が化けるという現象が少しは減る気がしますが、なかなかならないですね。