![](https://blogimg.goo.ne.jp/user_image/06/dc/3c46046946a15a762636b67a2f075928.png)
以前、Access97で開発したアプリをご利用になっていたお客様でのトラブル事例。
自分向けのメモですが、同様の悩みにぶつかった方の参考になればと残します。
![](https://blogimg.goo.ne.jp/user_image/06/dc/3c46046946a15a762636b67a2f075928.png)
トラブル概要
人名の格納されたテーブルを テキスト形式(CSV形式)で出力すると、一部の文字が「?」になってしまう。
![](https://blogimg.goo.ne.jp/user_image/06/dc/3c46046946a15a762636b67a2f075928.png)
----
![](https://blogimg.goo.ne.jp/user_image/06/dc/3c46046946a15a762636b67a2f075928.png)
WindowsXP、Windows7のパソコンで確認
![](https://blogimg.goo.ne.jp/user_image/06/dc/3c46046946a15a762636b67a2f075928.png)
Microsoft Access 2010
![](https://blogimg.goo.ne.jp/user_image/06/dc/3c46046946a15a762636b67a2f075928.png)
人名の格納されたテーブルを テキスト形式(CSV形式)で出力すると、一部の文字が「?」になってしまう。
![](https://blogimg.goo.ne.jp/user_image/06/dc/3c46046946a15a762636b67a2f075928.png)
化ける文字の例
「浥」 ←(Unicodeでコード番号 6D65)
![](https://blogimg.goo.ne.jp/user_image/06/dc/3c46046946a15a762636b67a2f075928.png)
どうやら、Unicodeで処理されている一部文字が、コード:ANSI/Shift-JIS保存の際に化けているようで。
![](https://blogimg.goo.ne.jp/user_image/06/dc/3c46046946a15a762636b67a2f075928.png)
気付いたきっかけは、 「浥」をメモ帳にコピペし、名前を付けて保存で、ANSIコードを選んで保存しようとしたら警告が表示されたこと。
![](https://blogimg.goo.ne.jp/user_image/06/dc/3c46046946a15a762636b67a2f075928.png)
ANSIで保存したテキストファイルは「?」に化けていた。
Unicode保存したテキストファイルは、そのままだった。
![](https://blogimg.goo.ne.jp/user_image/06/dc/3c46046946a15a762636b67a2f075928.png)
![](https://blogimg.goo.ne.jp/user_image/06/dc/3c46046946a15a762636b67a2f075928.png)
Access2000以降から内部処理の文字コードは Unicode。
Access97まではShift-JIS。
![](https://blogimg.goo.ne.jp/user_image/06/dc/3c46046946a15a762636b67a2f075928.png)
ならば、対処はAccessでのエクスポートの際、設定で文字コードを”Unicode”とすればいいわけだ。
これでUnicodeで格納されたテキストファイルが出力される。
![](https://blogimg.goo.ne.jp/user_image/06/dc/3c46046946a15a762636b67a2f075928.png)
だが、この場合、出力されたUnicodeテキストファイルを利用するアプリがUnicodeに対応していなかったら、ちょっと困ることになるな。
まあ、現代では少ないだろうけど。
![](https://blogimg.goo.ne.jp/user_image/06/dc/3c46046946a15a762636b67a2f075928.png)
![](https://blogimg.goo.ne.jp/user_image/06/dc/3c46046946a15a762636b67a2f075928.png)
AccessからExcel形式エクスポートであれば、Excelはその文字を認識してくれるようではある。
![](https://blogimg.goo.ne.jp/user_image/06/dc/3c46046946a15a762636b67a2f075928.png)
ついでなのでExcel2000で「名前を付けて保存 CSV形式」を試してみた。
やはり「?」に化けてしまうようだ。
![](https://blogimg.goo.ne.jp/user_image/06/dc/3c46046946a15a762636b67a2f075928.png)
そういえば、Access2000リリースからしばらくして、Unicode文字化けの非互換問題を聞いた記憶があるようなないような。
よくもまあ10年近くコレに直面する機会がなかったものだ。
まあ、Access97を最近まで使い続けていた事例が身近になかったというのが大きいか。
![](https://blogimg.goo.ne.jp/user_image/06/dc/3c46046946a15a762636b67a2f075928.png)
![](https://blogimg.goo.ne.jp/user_image/06/dc/3c46046946a15a762636b67a2f075928.png)
参考とさせていただいた情報
・Access Club No129900.エクスポートでCSVファイル作成時の文字化けについて
・Google検索キーワード「Access CSV unicode」
![](https://blogimg.goo.ne.jp/user_image/06/dc/3c46046946a15a762636b67a2f075928.png)