2012-01-02 66 views
0

我嘗試通過我的java程序將越南文字符插入到MySQL數據庫中。它正在插入,但某些字符被插入爲垃圾。在嘗試檢索時,我得到的是相同的垃圾值而不是某些字符。任何人都可以告訴我應該做什麼? MySQL中是否存在問題或者是否有支持這些字符的數據庫?哪個數據庫支持插入越南文字?

回答

1

實例?

一般來說,你需要確保:

  1. 你的表上的所有文本列UTF-8的排序規則創建的。這可以在幾個級別完成:config default-character-set=utf8,db CREATE DATABASE ... DEFAULT CHARACTER SET utf8,表CREATE TABLE ... DEFAULT CHARACTER SET utf8和列column VARCHAR(255) CHARACTER SET utf8。在初始創建後,您只能在列上執行ALTER;更改默認字符集不會更改該列。

  2. 通過在連接字符串或屬性中指定useUnicode=truecharacterEncoding=UTF-8屬性,表明您的數據庫連接採用UTF-8編碼。確保您擁有最新的MySQL連接器,因爲過去曾出現過嚴重的錯誤。

  3. 您的處理流中沒有其他任何內容在數據庫連接或返回數據庫連接之前對其進行修改。確保你沒有使用任何地方的默認編碼,因爲它可能是錯誤的。設置標誌-Dfile.encoding=UTF-8可能有助於將其作爲臨時解決方法,但您不想依賴它。

(如果你測試的一部分涉及到印刷到終端,要知道,在Windows命令提示符下將無法做任何UTF-8,所以你絕對會看到垃圾在那裏。)