質問: **構成** 下記のようなプログラムの流れになっています ``` cp932のcsvファイル ↓ 1.変換 ↓ utf8のcsvファイル ↓ 2.格納 ↓ utf8のDBでutf8のテーブル ↓ 3.人間の手によるUPDATE(自由入力なので環境依存文字も入力可能) ↓ ↓ 4.出力 ↓ cp932のtsvファイル ``` **質問** **1.** 上記3の「人間の手によるUPDATE」の箇所で1やIIなどの環境依存文字を入力するとDBには格納されますが、上記4の出力の際にエラーが出ます。どうすればいいでしょうか? ``` UnicodeEncodeError: 'cp932' codec can't encode character '\u32b7' in position 393: illegal multibyte sequence ``` DBとテーブルがutf8なのがいけないのかと思い、sjisに変更してみましたが、同様のエラーが出ます。原因は何でしょうか?DBには1やIIなどの環境依存文字は格納されている理由もわかりません。DBには環境依存文字とか言う概念はないんでしょうか? **2.** DBとテーブルはutf8にしていますが、特に理由はありません。csv/tsvファイルとの整合性を保つためにもsjisに変更して方がいいですか?
回答: cp932とは平たく言えばsjisのことです。つまり、utf8だから問題が出ているのではなく、sjisに変換しようとしてエラーが出ていると考えられます。コードがどうなっているのかわかりませんが、出力関係の設定をもう一度チェックしてみてはどうでしょうか。