Django を使用して MySQL に Unicode 文字を保存するときの不正な文字列値エラー
Django の auth_user モデルに Unicode 文字列を保存しようとすると、次のエラーが発生する可能性がありますメッセージ:
Incorrect string value: '\xC4\x8Dius' for column 'last_name' at row 104
潜在的な原因
このエラーは通常、次のことが原因で発生します:
解決策
この問題を解決するには、次の手順に従ってください手順:
utf8mb4 文字セットを使用するようにデータベース、テーブル、列を変更します:
CREATE DATABASE db_name CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci';
ALTER TABLE auth_user CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
Djangoで文字セットを指定するsettings:
Django 設定ファイル (settings.py) に次の行を追加します:
DATABASES = { 'default': { 'ENGINE':'django.db.backends.mysql', ... 'OPTIONS': {'charset': 'utf8mb4'}, } }
追加の考慮事項
以上がDjango と MySQL で Unicode を保存するときに発生する「文字列値が正しくありません」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。