2011-06-18 46 views
0

我在MySQL中插入漢字時遇到問題。我只能在查詢瀏覽器/工作臺中插入中文字符,但它出現爲'??'當使用我的程序。我以某種方式設法讓它在我的電腦上運行(Windows 7),但是當我在另一臺電腦(Windows 7上)上測試它時,它出現了問號。它也不適用於Windows XP中文版。任何幫助?漢字插入mysql

+0

難道說他們需要編碼爲UTF-8? – 2011-06-18 10:12:56

+0

「,但它出現爲'??'當使用我的程序「。您需要提供有關故障的更多信息。你應該說明的事情是:你編寫的程序類型(web-app或JavaSE桌面應用程序),爲web-app設置的適當響應頭,你的桌面應用程序的區域設置,用於顯示字符的字體(在瀏覽器/桌面應用程序中)。 –

+0

我已經將數據庫的排序規則設置爲utf-8。 – louieansonng

回答

0

驅動程序以UTF-8的形式傳輸,看到您對連接字符串的評論。數據庫表字段也可能指定爲UTF-8(請檢查此)。

所以你在Java中有一個正常的Unicode字符串。通過String.getBytes("UTF-8")轉儲檢查。不應出現問號。

在Web應用程序中,您需要在使用Writer之前設置編碼。否則,你會得到這樣的探索標記。其他可能出錯的是String.getBytes()(默認操作系統編碼),使用StreamOutputStream的FileOutputStream上的Writer也沒有編碼。

0

1.使用CMD連接數據庫 例如:

D:\MySQL\bin>mysql -u root -D test -p 

2.to更改數據庫爲UTF-8 例如:

mysql>alter database [database name] default character set utf8