2012-07-13 58 views
0

存儲Iv'e配置MySQL的5.0至存儲UTF8 characters.I與以下查詢檢查它:MySQL的5.0無法UTF8


SELECT character_set_name FROM information_schema.`COLUMNS` C 
WHERE table_schema = "oprdb" 
    AND table_name = "rtable" 
    AND column_name = "rtxt"; 

結果爲utf8


SHOW FULL COLUMNS FROM rtable 

this shows me collation as utf8_general_ci


show variables like "character_set_database"; 
show variables like "collation_database"; 

這也顯示了結果


utf8似乎MySQL的配置是否正確。 我從HTML頁面中獲取文本,用戶在文本字段中輸入文本,然後使用jquery文章將該文本提交給servlet。

我的html頁面有這個上top--

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 

我也加入到我的形式是 -

enctype="text/plain;charset=UTF-8" 

在我的servlet中的doPost第一行是

request.setCharacterEncoding("UTF-8"); 

之後,我只是將該文本保存在數據庫中。但問題是,我無法存儲這種文本

Hiki iaʻu ke ʻai i ke aniani; ʻaʻole nō lā au e ʻeha. 
Я магу есці шкло, яно мне не шкодзіц 

是他們所缺少的東西嗎?

編輯:

這是我的數據源配置..

<Resource auth    = "Container" 
      driverClassName  = "com.mysql.jdbc.Driver" 
      factory    = "org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" 
      initialSize   = "10" 
      logAbandoned  = "true" 
      maxActive   = "50" 
      maxIdle    = "2" 
      maxWait    = "10000" 
      name    = "jdbc/oprdb" 
      username   = "root" 
      password   = "123456" 
      removeAbandoned  = "true" 
      removeAbandonedTimeout = "60" 
      type     = "javax.sql.DataSource" 
      url     = "jdbc:mysql://localhost:3306/oprdb" /> 
+1

保存文本時出現什麼錯誤? – mtariq 2012-07-13 09:28:17

+0

沒有錯誤...文本得到保存在表中,但在這樣的形式::: ...:Τá½'Îο¿¿¿¿ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ¿¿½¡ 'λλνικá½' – JAVAGeek 2012-07-13 09:37:37

+0

and whats ur jdbc driver url? – mtariq 2012-07-13 09:38:49

回答

1

更新您的網址jdbc:mysql://localhost:3306/oprdb?useUnicode=true&characterEncoding=UTF-8 爲UTF-8支持

+0

嘗試複製文本並使用MySQl GUI工具在MySql表列中手動更新,以驗證它不是mysql問題。 – mtariq 2012-07-13 10:35:28

0

這些是在MySQL Workbench中的唯一設置我的系統:

enter image description here

結果是除了這兩條線:

character-set-server = utf8 
character-set-filesystem = utf8 

/etc/mysql/my.cnf文件。

確保數據庫表的排序規則是utf8。