溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

更改JDK默認(rèn)編碼,解決DBeaver亂碼問題

發(fā)布時間:2020-08-05 22:30:06 來源:網(wǎng)絡(luò) 閱讀:12721 作者:趙雁生 欄目:MySQL數(shù)據(jù)庫
  之前存在,在DBeaver中添加漢字注釋后,選擇另存為后,注釋的漢字出現(xiàn)亂碼問題?

解決方法:在環(huán)境變量中添加JAVA_TOOL_OPTIONS選項,添加參數(shù)-Dfile.encoding=UTF-8 -Duser.language=en -Duser.country=US,這樣JDK的提示就是英文的,系統(tǒng)輸出的中文也能正常顯示了,適用于Java/Scala程序,Python也有類似的環(huán)境變量PYTHONIOENCODING.
更改JDK默認(rèn)編碼,解決DBeaver亂碼問題
更改JDK默認(rèn)編碼,解決DBeaver亂碼問題
配合這里的修改后,基本不會再有亂碼出現(xiàn)了。
下面說下為什么會出現(xiàn)亂碼問題?
首先,亂碼問題,不是無法解決的 問題。大家不要恐慌。亂碼問題是因為字符集不同而產(chǎn)生的。
更專業(yè)點來說就是:計算機(jī)編碼(字符集)。計算機(jī)編碼是計算機(jī)代表字母和數(shù)字的方式(計算機(jī)不認(rèn)識我們的文字語言。只認(rèn)識0和1兩個字符。這里就需要計算機(jī)編碼轉(zhuǎn)化為0和1。)這樣我們就不會為使用計算機(jī)而學(xué)習(xí)計算機(jī)底層的生澀的低級語言(如匯編),只需要熟悉簡單的鍵盤輸入,計算機(jī)自己就完成了信息從輸入到輸出,把結(jié)果呈現(xiàn)給我們。
常見的編碼方式有:ASCII編碼,GB2312編碼(簡體中文),GBK,BIG5編碼(繁體中文),ANSI編碼,unicode,utf-8編碼等
我們來談下,這些的由來。最早。計算機(jī)就美國那幾個大學(xué)在用。美國人輸入鍵盤上的字符就足夠了。所以誕生了ASCII編碼,而且那時候的磁盤很小。而ASCII編碼只占用一個字節(jié)(8個二進(jìn)制位)。后來,美國人要讓全世界都用計算機(jī)??墒?,每個國家都有自己的文字??偛荒苋澜缍加糜⒄Z把。那樣計算機(jī)的門檻那樣高,你讓不會英語的人事,怎么辦?就有了后來的GBK,UTF-8等計算機(jī)編碼。他們的產(chǎn)生,是的計算機(jī)可以把全世界絕大多數(shù)的語言文字都收錄進(jìn)去。才有了今天,中國人可以在計算機(jī)上輸入中文。德國人可以輸入德文。韓國人可以使用韓文操作計算機(jī)。當(dāng)然,這得益于硬盤存儲空間的增大?,F(xiàn)在的這些計算機(jī)編碼占2個字節(jié)(16個二進(jìn)制位)。
現(xiàn)在,說說為什么會產(chǎn)生亂碼?
由于計算機(jī)編碼(字符集)的增多,大家可供選擇的字符集就增多。所有造成了。各種軟件和系統(tǒng)對計算機(jī)編碼(字符集)的默認(rèn)選擇就不同。這是亂碼的本源。
因為不同的發(fā)音在不同的語言中有截然不同的效果。同樣適用于不同的字符在不同的計算機(jī)編碼(字符集)下產(chǎn)生效果不一樣。
打個比方:英文的who 是誰的意思。中文的hu 是窗戶的戶。還有就是上海的簡稱(滬)。這個例子就說明白了。不同字符在不同字符集中的效果了吧。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI