MySQLで日本語が文字化けをしてしまい、文字コードを見てみると、テーブル自体には正しくUTF8が設定されていたのですが、日本語を格納するフィールドに違う文字コードに設定されているようです。

フィールドの文字コードを変更するSQL文はあるでしょうか?テーブル自体はわかったのですが。

mysql> show create table hoge;
-----------------------------------------------------------------------------------+
| Table | Create Table -----------------------------------------------------------------------------------+
| phrase | CREATE TABLE `hoge` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(300) CHARACTER SET latin1 DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8 |

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/08/28 21:21:44
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:Jupiter2100 No.1

回答回数444ベストアンサー獲得回数74

ポイント100pt

カラムの文字コード設定変更は以下のようにします。

ALTER TABLE hoge CHANGE name name VARCHAR(300) CHARACTER SET utf8 NULL DEFAULT NULL;

ただし、すでにカラムにデータが入っている場合には正常にコンバートされません。

いったんデータをエクスポートしてから文字コードを変更するのが安全です。

id:koime_ryokutya

うまくいきました。ありがとうございます。

2011/08/28 21:21:30

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません