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

回答編集履歴

5

表記を修正

2019/09/06 08:56

投稿

kenshirou
kenshirou

スコア772

answer CHANGED
@@ -5,4 +5,4 @@
5
5
  とりあえず、漢字を含む列にはNVARCHAR型を使ってみてはどうでしょう。
6
6
 
7
7
  ### 追記
8
- 指定文字コードはutf-8ではなく、UNICODE(ISO-8859-1)になっていませんか?
8
+ どこかで、utf-8ではなく、UNICODE(ISO-8859-1)の文字コードの使用(または設定)をしていませんか?

4

文章を修正

2019/09/06 08:56

投稿

kenshirou
kenshirou

スコア772

answer CHANGED
@@ -5,4 +5,4 @@
5
5
  とりあえず、漢字を含む列にはNVARCHAR型を使ってみてはどうでしょう。
6
6
 
7
7
  ### 追記
8
- 元データの文字コードはutf-8ではなく、UNICODE(ISO-8859-1)になっていませんか?
8
+ 指定文字コードはutf-8ではなく、UNICODE(ISO-8859-1)になっていませんか?

3

追記

2019/09/06 08:37

投稿

kenshirou
kenshirou

スコア772

answer CHANGED
@@ -2,4 +2,7 @@
2
2
  "和歌山県"はVARCHAR(4)には収まりません。
3
3
  ~~
4
4
  今のMySQLだと、VARCHAR型もNVARCHAR型と同様、文字数で定義できるのですね。ゴメンナサイ。
5
- とりあえず、漢字を含む列にはNVARCHAR型を使ってみてはどうでしょう。
5
+ とりあえず、漢字を含む列にはNVARCHAR型を使ってみてはどうでしょう。
6
+
7
+ ### 追記
8
+ 元データの文字コードはutf-8ではなく、UNICODE(ISO-8859-1)になっていませんか?

2

訂正

2019/09/06 08:36

投稿

kenshirou
kenshirou

スコア772

answer CHANGED
@@ -1,3 +1,5 @@
1
- 漢字等2バイト系文字を使う場合、VARCHAR型を使うと、漢字1文字で2バイト以上を占有してしまいます。
1
+ ~~漢字等2バイト系文字を使う場合、VARCHAR型を使うと、漢字1文字で2バイト以上を占有してしまいます。
2
2
  "和歌山県"はVARCHAR(4)には収まりません。
3
+ ~~
4
+ 今のMySQLだと、VARCHAR型もNVARCHAR型と同様、文字数で定義できるのですね。ゴメンナサイ。
3
- 漢字を含む列にはNVARCHAR型を使ってみてはどうでしょう。
5
+ とりあえず、漢字を含む列にはNVARCHAR型を使ってみてはどうでしょう。

1

説明の加筆

2019/09/06 08:28

投稿

kenshirou
kenshirou

スコア772

answer CHANGED
@@ -1,1 +1,3 @@
1
+ 漢字等2バイト系文字を使う場合、VARCHAR型を使うと、漢字1文字で2バイト以上を占有してしまいます。
2
+ "和歌山県"はVARCHAR(4)には収まりません。
1
- VARCHAR型を使うと、文字コードにより、漢字は想定外のバイト数占有してしまうので、NVARCHAR型を使ってみてはどうでしょう。
3
+ 漢字を含む列にはNVARCHAR型を使ってみてはどうでしょう。