透過JDBC 將UTF-8 插入MySQL 時處理不正確的字串值
嘗試使用下列指令將UTF-8 資料插入MySQL 資料庫時JDBC,您可能會遇到錯誤訊息「錯誤的字串值: 'xF0x90x8Dx83xF0x90...'" 當插入的文字包含無法用 MySQL 的 utf8 字元集表示的字元時,通常會出現此錯誤。
雖然您的連接設定包括使用Unicode(“useUnicode=true”)和UTF-8編碼(“characterEncoding=utf-8”),MySQL的utf8編碼只支援可以用以下方式表示的Unicode字符UTF-8 格式為3 個位元組。然而,導致錯誤的字元需要 4 個位元組。
解決方案:
要解決此問題,您有兩個選擇:
請注意,通常用於與 MySQL 的 JDBC 連接的 Connector/J 預設為 3 位元組 Unicode。因此,建議將characterEncoding從連線字串中刪除,並使用character_set_server=utf8mb4設定MySQL伺服器,以允許Connector/J自動偵測UTF-8設定。
以上是透過 JDBC 將 UTF-8 資料插入 MySQL 時如何修復「字串值不正確」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!