首页 > 数据库 > 文库 > 正文

更改JDK默认编码 处理DBeaver乱码问题

2022-07-18 12:12:47
字体:
来源:转载
供稿:网友
  解决方法:在环境变量中添加JAVA_TOOL_OPTIONS选项,添加参数-Dfile.encoding=UTF-8 -Duser.language=en -Duser.country=US,这样JDK的提示就是英文的,系统输出的中文也能正常显示了,适用于Java/Scala程序,Python也有类似的环境变量PYTHONIOENCODING.
 
  常见的编码方式有:ASCII编码,GB2312编码(简体中文),GBK,BIG5编码(繁体中文),ANSI编码,unicode,utf-8编码等
  我们来谈下,这些的由来。最早。计算机就美国那几个大学在用。美国人输入键盘上的字符就足够了。所以诞生了ASCII编码,而且那时候的磁盘很小。而ASCII编码只占用一个字节(8个二进制位)。后来,美国人要让全世界都用计算机。可是,每个国家都有自己的文字。总不能全世界都用英语把。那样计算机的门槛那样高,你让不会英语的人事,怎么办?就有了后来的GBK,UTF-8等计算机编码。他们的产生,是的计算机可以把全世界绝大多数的语言文字都收录进去。才有了今天,中国人可以在计算机上输入中文。德国人可以输入德文。韩国人可以使用韩文操作计算机。当然,这得益于硬盘存储空间的增大。现在的这些计算机编码占2个字节(16个二进制位)。
  现在,说说为什么会产生乱码?
  由于计算机编码(字符集)的增多,大家可供选择的字符集就增多。所有造成了。各种软件和系统对计算机编码(字符集)的默认选择就不同。这是乱码的本源。
  因为不同的发音在不同的语言中有截然不同的效果。同样适用于不同的字符在不同的计算机编码(字符集)下产生效果不一样。
  打个比方:英文的who 是谁的意思。中文的hu 是窗户的户。还有就是上海的简称(沪)。这个例子就说明白了。不同字符在不同字符集中的效果了吧。

(编辑:错新网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选