中文乱码的分析 和 从Eclipse设置启动JVM时的字符集(转)

最近时常碰到中文乱码的问题,eclipse的编码环境设置的都是UTF-8,外部也是以UTF-8的编码进行传参的,但是遇到中文的时候还是因为乱码而产生一系列的错误。在网上查了许多资料,发现这是跟JVM的编码有关系的,JVM默认引用电脑操作系统的编码格式进行编码(大部分中文win xp系统的编码格式是GBK),所以JVM把java编译成class文件的时候会以GBK的方式进行编译。于是乎你会发现,有的机器运行工程会始终有乱码,有的机器则不会

获取JVM编码:

import java.nio.charset.Charset;

public class TestCharset {
    public static void main(String[] args) {
        System.out.println("JRE Version:" + System.getProperty("java.version"));
        System.out.println("JVM code:" + Charset.defaultCharset());
    }
}

j2se设置jvm encoding的地方:

j2ee设置encoding:

http://blog.sina.com.cn/s/blog_a1eac6d60100yzfo.html

中文乱码的分析 和 从Eclipse设置启动JVM时的字符集(转)

时间: 2024-08-27 03:27:25

中文乱码的分析 和 从Eclipse设置启动JVM时的字符集(转)的相关文章

关于c++与java中文乱码问题分析与解决

关于c++与java中文乱码问题分析与解决 DionysosLai([email protected])  2014/8/1 问题分析: 之所以会出现中文乱码问题,归根结底在于中文的编码与英文的编码方式存在差异. 在java内部是使用16bit的unicode编码(即utf-16)来表示字符串,无论英文还是中文都是2字节. C/C++使用的是原始数据,ascii是一个字节,中文一般是GB2312编码,用2个字节表示一个汉字. Jni内部是使用utf-8编码表示字符串的,utf-8是扁长的unic

关于Android与pc通信时中文乱码的分析和解决

初步实现了Android与pc服务器的通信之后,又碰到了传说中令人头疼不已的中文乱码问题.既然出现了乱码,那么原因自然是协议不通了.我们知道eclipse中默认的编码标准是GBK,而安卓程序开发所默认的布局文件编码标准则是utf-8,这样一来,我们双方通信的时候便难免出现乱码.要解决它,就要从二者转换方面着手.     首先我们知道,从安卓手机界面上获得的文字,其编码字符集是utf-8,所以,当我们的java文件获得它时,它是以utf-8形式编译的.所以这里,在得到EditText中的文字之后,

文《关于c++与java中文乱码问题分析与解决》中一个bug分析

文<关于c++与java中文乱码问题分析与解决>中一个bug分析 DionysosLai([email protected]) 2014/10/21 在前几篇一博客<关于c++与java中文乱码问题分析与解决>,地址如下:http://blog.csdn.net/dionysos_lai/article/details/38389765.文中详细介绍了c++与java数据传递时,为何会出现中文乱码的原因,并提出了适当的解决方法.方法如下: int CCDirector::GBKTo

php中文乱码问题分析及解决办法

中文乱码问题产生的原因,主要就是字符编码设置问题: 首先,mysql数据库安装的时候字符编码要选择正确,最好选择utf-8比较保险.如果安装时没有设置正确,找到mysql的安装目录,修改my.conf配置文件中的字符设置,打开文件,应该一个是在mysqll下面,一个是在server下面的. 如果是php页面的中文乱码,也就是非数据库查询出来的数据,HTML页面静态的部分出现乱码,应该使用header("content-type:text/html; charset=utf8") 来设定

web开发中的中文乱码问题分析

工作中经常出现中文字符乱码的问题,以及ASCII.ISO-8859-1.gb2312.GBK.unicode.utf-8.utf-16...编码到底是什么意思,为什么要编码? 因为计算机中能识别的只有0.1,所以要将各种字符变成01的格式,编码就是字符与数字的一种对应关系. ACSII编码: 计算机最早出现在美国,26个字母大小写.数字.回车换行等符号,就用一个字节就可以搞定了,而且只用了一个字节的前七位,也就是128个字符,最高位恒为0. ISO-8859-1: 随着计算机的推广,各个国家不同

数据库中文乱码及分析

向数据库插入中文字符好乱码问题 数据库出现乱码主要是因为服务器端与客户端,或者是数据库本身编码不同造成的. 主要的情况如下: 一.mysql数据库的问题 测试: 使用mysql -u root -p登录数据库,输入 我这个是改完之后的,保证所有的都是utf8. mysql> show variables like "%char%"; 默认的是客户端和服务器都用了latin1,所以会乱码.把这里的字符集都改为utf8: vi /etc/my.cnf  分别添加如下语句,修改后保存,

Eclipse 设置保存代码时自动格式化

在码代码或者优化的时候,经常需要使用到ctrl+shift+F来格式化代码,但其实ecilpse已经自带自动格式化功能了,只是没有默认开启. 正确的打开方式:windows-->Preferences-->Java --> Editor-->Save Actions, 勾选窗口上的"Perform the selected actions on save"选项,其他选项根据需要修改即可.

Wildfly8 POST请求中文乱码分析与解决

最近遇到的一个关于POST请求中文乱码的问题,原本应用是在TOMCAT上运行的,切换到Wildfly8后,测试环境是正常的,但生产环境下客户端发出的相同请求在服务端获取到的中文出现了乱码,在经过定位后发现是Wildfly8的一个配置引起的. 问题分析如下: 在HTTP的POST请求中,如果是这种情况 Content-Type: application/x-www-form-urlencoded;charset=utf-8 ,若没有设置charset=utf-8,这时可能会出现请求参数中文乱码的情

TomCat控制台中文乱码及IDEA设置为UTF-8

一.解决IDEA中的中文乱码 1.首先设置idea编辑器的编码: File-Setting设置如下 idea显示编码:windows默认用gbk所以idea显示默认为gbk编码,在 Help--Edit custom vm options 添加-Dfile.encoding=UTF-8 (其实大部分问题就是没设置好这个) 2.然后配置tomcat的编码问题: 打开idea安装目录-bin 用记事本打开idea64.exe.vmoptions文件 在文件后面添加一行:-Dfile.encoding