No.502
【MySQL】error 1366 Incorrect string value
ほぼ100%、違う文字コードを書き込んでると思う
MySQLのデーターベースに文字列を書き込んだとき(insert, update)に下記のエラーが出ることがある。
1366 Incorrect string value
そんなときは、ほぼ確実にデーターベース(カラム)の文字コード以外の文字を書き込もうとしているはずだ。
よく見かけるのが utf8
もしくは utf8mb3
に対して絵文字などの utf8mb4
のデーターを書き込んでいるケース。
古い時代に定義したものをdumpして新環境に取り込んで…というオペレーションでよく発覚する。というかもう見飽きたわ(笑
まあ、下記のページを参考にして、文字コードやCOLLATEなどを修正してあげればOK。