エラー 1366 Incorrect string value: '\xF0\x9F\x92\xA2" ...' for column
今日はこの絵文字「💢」のおかげで面白いものを知ってしまいました。それはutf8mb4
です。
utf8のMySQLデータベースに上記の絵文字を保存しようとしたら、次のエラーが発生しました。
調べたら理由はMySQLのutf8は3バイトまでしか対応していません。しかし、上記の絵文字は4バイトもあります。3バイトまでしか対応していないデータベースに4バイトの絵文字を保存しようとしていたので、エラーが発生しました。
ネットで調べたらMySQL5.5以上からutf8mb4
という4バイトのutf8に対応する文字コードがありまして、さっそくshow character set
で確認したら
本当に4バイトまで対応しているutf8mb4
がありました!!
データベース、テーブルとconnection driverが全部utf8からutf8mb4に切り替えたら上記のエラーが解消しました。
Author And Source
この問題について(エラー 1366 Incorrect string value: '\xF0\x9F\x92\xA2" ...' for column), 我々は、より多くの情報をここで見つけました https://qiita.com/edisonthk/items/03d7023fb53006a7c83e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .