其實這個問題應該是很common的~
多到~ 只要在google search bar打兩個字就自己幫你帶出一堆了...
不過因為很久沒有看到MySQL..總之~ 太久沒用就是會碰到鬼~
整理一下~ 解法大概就這幾個~
1. jdbc url加參數, 這個可以解掉九成的問題...
jdbc:mysql://{IP}:3306/epagedb?useUnicode=true&characterEncoding=utf8
2. JDBC換個版本的jar試試看
說瞎也不能說很瞎的XD...幾點幾版的jar是對到那一版的MySQL DB..是也有點道理...
3. 下SQL轉換...這是一切無解又無奈的時候...唉...Orz..這次就碰到這個了...
select convert(unhex(hex(convert(pt_name using latin1))) using utf8) as name from xxxtable
因為撈回來的資料是一半中文一半亂碼...
DB table的編碼用default:latin-1, 但是資料用utf-8的碼寫進去的天才...
狠著心用MySQL轉換就可以出來了...只是這個SQL好長長長....
不過發現一樣很慘的是~ 他的來源好像本來就有些是亂碼了~
應該是硬寫了一堆編碼內沒有的字~ 不過這~ 這我也沒辦法了...
系統是別人建的一_一"...
沒有留言:
張貼留言