更改JDK默认编码,解决DBeaver乱码问题
之前存在,在DBeaver中添加汉字注释后,选择另存为后,注释的汉字出现乱码问题?
解决方法:在环境变量中添加JAVA_TOOL_OPTIONS选项,添加参数-Dfile.encoding=UTF-8 -Duser.language=en -Duser.country=US,这样JDK的提示就是英文的,系统输出的中文也能正常显示了,适用于Java/Scala程序,Python也有类似的环境变量PYTHONIOENCODING.
配合这里的修改后,基本不会再有乱码出现了。
下面说下为什么会出现乱码问题?
首先,乱码问题,不是无法解决的 问题。大家不要恐慌。乱码问题是因为字符集不同而产生的。
更专业点来说就是:计算机编码(字符集)。计算机编码是计算机代表字母和数字的方式(计算机不认识我们的文字语言。只认识0和1两个字符。这里就需要计算机编码转化为0和1。)这样我们就不会为使用计算机而学习计算机底层的生涩的低级语言(如汇编),只需要熟悉简单的键盘输入,计算机自己就完成了信息从输入到输出,把结果呈现给我们。
常见的编码方式有:ASCII编码,GB2312编码(简体中文),GBK,BIG5编码(繁体中文),ANSI编码,unicode,utf-8编码等
我们来谈下,这些的由来。最早。计算机就美国那几个大学在用。美国人输入键盘上的字符就足够了。所以诞生了ASCII编码,而且那时候的磁盘很小。而ASCII编码只占用一个字节(8个二进制位)。后来,美国人要让全世界都用计算机。可是,每个国家都有自己的文字。总不能全世界都用英语把。那样计算机的门槛那样高,你让不会英语的人事,怎么办?就有了后来的GBK,UTF-8等计算机编码。他们的产生,是的计算机可以把全世界绝大多数的语言文字都收录进去。才有了今天,中国人可以在计算机上输入中文。德国人可以输入德文。韩国人可以使用韩文操作计算机。当然,这得益于硬盘存储空间的增大。现在的这些计算机编码占2个字节(16个二进制位)。
现在,说说为什么会产生乱码?
由于计算机编码(字符集)的增多,大家可供选择的字符集就增多。所有造成了。各种软件和系统对计算机编码(字符集)的默认选择就不同。这是乱码的本源。
因为不同的发音在不同的语言中有截然不同的效果。同样适用于不同的字符在不同的计算机编码(字符集)下产生效果不一样。
打个比方:英文的who 是谁的意思。中文的hu 是窗户的户。还有就是上海的简称(沪)。这个例子就说明白了。不同字符在不同字符集中的效果了吧。
- eclipse下更改jsp页面默认的编码格式,解决中文乱码问题
- mysql5.5 解决中文乱码问题 修改默认编码为utf8
- 修改Tomcat默认编码解决中文传值乱码问题
- 解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)——ubuntu环境设置默认是utf-8,文件编码可使用Encodersoft批量转换
- 更改邮件发送语言为英语,解决编码为UTF8邮箱注册账号,邮件内容乱码问题
- 解决vs2005打开UTF-8编码的文件乱码和修改新增文件时的默认编码方式的问题
- java读取默认编码是ansi的文本文件时,解决中文乱码问题
- linux中修改mysql的默认编码(character_set_server)解决插入乱码问题
- JSP使用UTF-8链接MYSQL数据库(UTF8)乱码以及连接失败问题以及更改mysql默认编码
- mysql默认编码设置成gbk,解决dos下查询中文乱码的问题!
- 如何彻底解决MySQL更改默认字符集以及字符乱码问题!!!
- jspsmart 支持jdk1.4 解决utf-8编码时出现乱码的问题 附源码和jar包
- 中文乱码问题 ? 原因:JSP中默认使用iso-8859-1字符编码方式,不支持中文 ? 常见的支持中文的编码方式:gb2312(常用简体汉字)、gbk(简体和繁体汉字)、utf-8 ? 解决中文乱码
- 如何修改tomcat服务器默认的编码方式?javaweb工程乱码问题解决。
- 解决表单乱码问题之一,修改tomcat默认编码格式
- 重置mysql Root用户密码及修改默认字符集一般就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。 解决
- 关于java备注乱码的问题,两个工程默认的编码不一样
- 解决VS2005打开UTF-8编码文档乱码问题(ZZ)
- 解决安装VS2008无法更改默认路径的问题
- Android Studio编译时编码(乱码)问题的解决办法