我有一個數據庫與MEDIUMBLOB
字段在表中與ENGINE=InnoDB DEFAULT CHARSET=utf8
在每個表上。MySQL,Java和UTF8
我通過URL連接到useUnicode=true&characterEncoding=UTF8&character_set_client=UTF8&character_set_database=UTF8&character_set_results=UTF8&character_set_server=UTF8&character_set_system=UTF8
的數據庫。
(我曾嘗試只用useUnicode=true&characterEncoding=UTF8
相同的結果。)
當我使用的命令行mysql
數據庫看價值,我可以看到非ASCII字符就好了。
但是,當我從數據庫中使用executeQuery()
getString()
從字符串中讀取時,我得到了亂碼。我如何正確讀取值?
我正在使用log4j來顯示我正在寫入數據庫的字符串,而那些我讀回的,以及我寫的顯示正常。
那你怎麼*顯示*這些字符串?如果它是通過一個Web應用程序或類似的東西,那可能是你從數據庫中獲得了正確的數據,但是當它需要被編碼發送到瀏覽器時出現了問題。 –
(我假設「亂碼」是指你期望非ASCII字符的所有奇怪字符,又名[mojibake](http://en.wikipedia.org/wiki/Mojibake)重新看到只是問號,這是一個不同的問題。) –
如果它被解決,我會很高興,你使用控制檯顯示?該設備顯示你的字符? –