1. 程式人生 > >mysql資料庫中文顯示為“?”解決

mysql資料庫中文顯示為“?”解決

問題:

本來在連線資料庫時,url是這樣的:

String DB_URL = "jdbc:mysql://localhost/ontology”

可是資料庫中的漢字卻成了“?”,我是將protege建立的owl檔案持久化到資料庫中的,還以為是protege不支援中文,經過檢查發現,是資料庫儲存的時候出錯了,改成下面的方式就好了:

解決方法:

String DB_URL = "jdbc:mysql://localhost/ontology?useUnicode=yes&characterEncoding=utf8";

總結:

為了使構建的本體持久化到資料庫中的中文編碼可以被識別,而不是以?的形式存入資料庫,以下4點一定要注意:

1、建立本體的時候請採用utf-8編碼,這個一般沒有問題,Protege為了便於共享,因此預設支援的utf-8的編碼方式;
2、Java開發環境的編碼設定成utf-8;

3、存本體的資料庫字符集設定成utf-8;

4、用jdbc連資料庫(mysql)的時候 ,在DB_URL後需要加上”useUnicode=yes&characterEncoding=utf8″。