[英]UTF-8 character not supporting
我試圖在數據庫中添加行,如下所示:
String query = "update Mutable e set e.Name = "Благодаря";
Statement s;
s.execute(query);
但是它更新為?????? 在數據庫中。 我將此名稱設置為俄語字符串。 但是,如果我在MySQL查詢瀏覽器中運行相同的查詢,那么它將正確更新名稱。 我找不到原因。
此問題已解決。 問題出在my.cnf文件中。 在my.cnf文件中,默認字符集為latin1。 我將其更改為UTF8,並成功了。
嘗試
“更新變量集e.Name ='\\ u0411 \\ u043b \\ u0430 \\ u0433 \\ u43e \\ u00434 \\ u0430 \\ u0440 \\ u044f'”;
u轉換為ASCII消除了一個問題:java源文本的編碼必須與javac編譯器使用的編碼相同。
然后,在具有非西里爾編碼的Windows或IDE控制台中,結果很容易顯示為假。 與您一樣檢查數據庫中的結果。
您可以間接檢查值:
System.out.println("Okay: " + !fieldValue.contains("?"));
驗證連接字符串是否類似於:
"jdbc:mysql:///dbname?useUnicode=true&characterEncoding=utf-8"
這樣可以確保驅動程序通信使用UTF-8。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.