mysql EROOR 1366(ハングル入力エラー)

5974 ワード

mysqlエラー


配備フェーズでテストを行う際、EC 2に手記データを追加しようとしたが、エラーが発生したため、確認後mysqlのデフォルト言語がlatin1に設定されており、ハングルが認識されないことが分かった.
  • EROOR 1366
  • INSERT INTO slow_postbox.mails
        -> (id, writerEmail, receiverEmail, reserved_at, title, content, isChecked, isRead, created_at, updated_at)
        -> VALUES(1, '[email protected]', '[email protected]', '2021-12-31', '메일 제목', '<p>메일 내용</p>', 0, 0, '2021-11-09 10:25:02', '2021-11-09 10:25:02');
        
    ERROR 1366 (HY000): Incorrect string value: '\xEB\xA9\x94\xEC\x9D\xBC...' for column 'title' at row 1
    
    mysql> INSERT INTO slow_postbox.mails
        -> (id, writerEmail, receiverEmail, reserved_at, title, content, isChecked, isRead, created_at, updated_at)
        -> VALUES(1, '[email protected]', '[email protected]', '2021-12-31', '', '<p></p>', 0, 0, '2021-11-09 10:25:02', '2021-11-09 10:25:02');
    
    Query OK, 1 row affected (0.01 sec)
    調べてみましたが、優先パラメータにはUTF-8は設定されていません.
    ハングルが認識されていないため、記録は挿入されていません.
    解決方法(リンク)
    1. ローカル環境でmysqlを接続し、設定全体を変更
    2. テーブル作成時のループ設定値
    3. (作成済み)テーブルごとに設定を変更 (✓)
  • それ以外は

  • mysqlをuft-8に設定してインストールすると、ハングルに問題が発生した場合
  • テーブルが2つあるので、下記の方法で設置を変更しました
    alter table users convert to charset uft8;
    下図のようによく適用されています