teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

参考URL追加

2018/11/19 03:48

投稿

yamato_user
yamato_user

スコア2321

title CHANGED
File without changes
body CHANGED
@@ -3,6 +3,8 @@
3
3
 
4
4
  **質問1**
5
5
  ShiftJISは半角1バイト・全角2バイトですが、UTF8のバイト数は2~6バイトとバラバラだと聞きました。Mysqlの文字コードはShiftJISです。よって、UTF8の文字列をPython側で制御すると、ShiftJISの文字列を処理するより、短い文字列が生成されませんか?どうしたらよいでしょうか?扱う文字列を全てShiftJISにエンコードしたら解決するのでしょうか(文字化けが心配ですが)
6
+ 参考URL:https://www.saintsouth.net/blog/truncate-strings-by-specified-bytes-in-python3/
7
+ 上記URLでもある通り、CP932とUTF8では同じバイト数でも取得できる文字数が異なります
6
8
 
7
9
  **質問2**
8
10
  Pythonで適切なバイト数に揃えた文字列をMysqlに格納していますが、現在のMysqlは文字数でしか指定できませんよね?そうした場合、256バイトの文字列を格納するときは、varchar(256)とかにする感じでしょうか?