質問編集履歴

1

追記しました。

2020/10/13 01:12

投稿

ryo387841
ryo387841

スコア13

test CHANGED
File without changes
test CHANGED
@@ -55,3 +55,41 @@
55
55
  Python == 3.7
56
56
 
57
57
  Django == 2.1
58
+
59
+
60
+
61
+ ###追記
62
+
63
+ Webアプリにアクセスし、csvをダウンロードしたら、文字化けをしてしまいました。
64
+
65
+ 原因は、DBの文字コードがUTF-8なのに文字コードをそのままでcsv自体をShift-Jisで保存されているからです。
66
+
67
+
68
+
69
+ そのため、中身を確認するために該当のcsvをメモ帳で開き、utf-8で保存することで、Excel上で中身を確認することが出来ました。
70
+
71
+ ですが、毎回このようなことをするわけにはいかないので、
72
+
73
+ - データの文字コードはUTF-8のままCSVをUTF-8として保存する
74
+
75
+ - データの文字コードをShift-Jisに変換し、CSVは現状のままShift-Jisで保存する
76
+
77
+
78
+
79
+ 上記のどちらかの方法をとる必要があると考えました。
80
+
81
+
82
+
83
+ CSVをUTF-8として保存する方法が分からなかったので、
84
+
85
+ 2つ目の方法を選択し、
86
+
87
+ 上に記載したコードのようにunicodedata.normalizeで正規化した後に文字コードをShit-Jisに変換して保存しようとしたのですが、
88
+
89
+ 一部の文字のShift-Jisへの変換に失敗してエラーとなってしましました。
90
+
91
+
92
+
93
+ エラー画面は下記です。
94
+
95
+ ![![イメージ説明](60be3352d669c8ae3379a2a05b6fe21f.jpeg)](6aad3336b3b3dd178c4d12a7cba206c6.jpeg)