更改JDK默認編碼,解決DBeaver亂碼問題

以前存在,在DBeaver中添加漢字註釋後,選擇另存爲後,註釋的漢字出現亂碼問題?

解決方法:在環境變量中添加JAVA_TOOL_OPTIONS選項,添加參數-Dfile.encoding=UTF-8 -Duser.language=en -Duser.country=US,這樣JDK的提示就是英文的,系統輸出的中文也能正常顯示了,適用於Java/Scala程序,Python也有相似的環境變量PYTHONIOENCODING.
更改JDK默認編碼,解決DBeaver亂碼問題
更改JDK默認編碼,解決DBeaver亂碼問題
配合這裏的修改後,基本不會再有亂碼出現了。
下面說下爲何會出現亂碼問題?
首先,亂碼問題,不是沒法解決的 問題。你們不要恐慌。亂碼問題是由於字符集不一樣而產生的。
更專業點來講就是:計算機編碼(字符集)。計算機編碼是計算機表明字母和數字的方式(計算機不認識咱們的文字語言。只認識0和1兩個字符。這裏就須要計算機編碼轉化爲0和1。)這樣咱們就不會爲使用計算機而學習計算機底層的生澀的低級語言(如彙編),只須要熟悉簡單的鍵盤輸入,計算機本身就完成了信息從輸入到輸出,把結果呈現給咱們。
常見的編碼方式有:ASCII編碼,GB2312編碼(簡體中文),GBK,BIG5編碼(繁體中文),ANSI編碼,unicode,utf-8編碼等
咱們來談下,這些的由來。最先。計算機就美國那幾個大學在用。美國人輸入鍵盤上的字符就足夠了。因此誕生了ASCII編碼,並且那時候的磁盤很小。而ASCII編碼只佔用一個字節(8個二進制位)。後來,美國人要讓全世界都用計算機。但是,每一個國家都有本身的文字。總不能全世界都用英語把。那樣計算機的門檻那樣高,你讓不會英語的人事,怎麼辦?就有了後來的GBK,UTF-8等計算機編碼。他們的產生,是的計算機能夠把全世界絕大多數的語言文字都收錄進去。纔有了今天,中國人能夠在計算機上輸入中文。德國人能夠輸入德文。韓國人可使用韓文操做計算機。固然,這得益於硬盤存儲空間的增大。如今的這些計算機編碼佔2個字節(16個二進制位)。
如今,說說爲何會產生亂碼?
因爲計算機編碼(字符集)的增多,你們可供選擇的字符集就增多。全部形成了。各類軟件和系統對計算機編碼(字符集)的默認選擇就不一樣。這是亂碼的本源。
由於不一樣的發音在不一樣的語言中有大相徑庭的效果。一樣適用於不一樣的字符在不一樣的計算機編碼(字符集)下產生效果不同。
打個比方:英文的who 是誰的意思。中文的hu 是窗戶的戶。還有就是上海的簡稱(滬)。這個例子就說明白了。不一樣字符在不一樣字符集中的效果了吧。ide

相關文章
相關標籤/搜索