簡體   English   中英

在MySQL表中存儲Unicode和特殊字符

[英]Storing Unicode and special characters in MySQL tables

我當前的要求是存儲Unicode和其他特殊字符,例如MySQL表中的雙引號。 為此,正如許多人所建議的,我們應該使用Apache的StringEscapeUtils.escapeJava()方法。 問題是,盡管此方法確實將特殊字符替換為其各自的unicode(\\ uxxxx),但MySQL表將其存儲為uxxxx而不是\\ uxxxx。 因此,當我嘗試從數據庫中獲取數據時對其進行解碼時, StringEscapeUtils.unescapeJava()失敗(因為它找不到'\\')。

這是我的問題:

  1. 為什么會發生這種情況(也就是說,表中跳過了“ \\”)。
  2. 有什么解決方案?

不要使用Unicode“代碼點”( \\uxxxx ),請使用UTF8。

不要使用任何特殊功能。 而是宣布所有內容均為UTF-8(在MySQL中為utf8mb4 )。

查看最佳做法

(如果為您提供\\uxxxx ,那么您首先要轉換為utf8。如果您真正的問題是如何轉換,請以這種方式提出。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM