「文字列値が正しくありません」エラーの解決
ラテン語以外の電子メールを受信するときに「文字列値が正しくありません」エラーが発生する場合は、根本的な問題があることを示しています文字エンコーディング付き。これを解決する体系的なアプローチは次のとおりです。
原因の特定
エラーは、MEDIUMTEXT 列の「contents」が適切にエンコードされていないことを示唆しています。 UTF-8 を使用するように設定されていますが、一部のメールには UTF-8 エンコーディングに準拠していない文字が含まれています。
問題の解決
データベース接続を設定します: 文字セットと照合順序を UTF-8 に設定します:
SET NAMES 'utf8mb4'; SET CHARACTER SET utf8mb4;
テーブルとデータベースを確認してください設定:
「コンテンツ」テーブルの場合:
ALTER TABLE table_name MODIFY contents MEDIUMTEXT COLLATE utf8mb4_general_ci;
データベース:
ALTER DATABASE database_name DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
修正の影響
注:
従来の UTF-8 文字セットの代わりに UTF-8mb4 を使用することをお勧めします。より広範囲の Unicode 文字のサポートが強化されるためです。
以上がラテン語以外の電子メールを受信したときに MySQL で発生する「文字列値が正しくありません」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。