1. 第一种方法是在cmd命令行界面上通过chcp命令查看
C:\>chcp
Active code page: 936
2. 第二种方法是在cmd命令行标题栏右键属性,在弹出对话框内可以看到当前的字符集编码
Active code page: 936其实就是中文GBK的编码集。
(2)查看java虚拟机的默认字符集的方法
编写程序查看(前提是机器装载JDK而且配置过环境变量)
首先,用记事本建立CharsetTest.java文件
import java.util.*;
import java.nio.charset.*;
class CharsetTest
{
public static void main(String[] args) throws Exception
{
Properties pps=System.getProperties();
pps.list(System.out); // 以列表的方式查看java虚拟机的所有属性
pps.put("file.encoding","ISO-8859-1"); // 更改java虚拟机的默认编码集
}
}
其次:命令提示符下运行:
javac CharsetTest.java
Java CharsetTest
最后,查看file.encoding=GBK
import java.util.*;
import java.nio.charset.*;
class CharsetTest
{
public static void main(String[] args) throws Exception
{
Map m=Charset.availableCharsets();
Set names=m.keySet();
Iterator it=names.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
}
}
(4)本地windows系统的字符集一般是不能改变的。默认为GBK。
(5)设置java虚拟机的属性有以下三种方法:
1、Properties pps=System. getProperties();
pps.put("file.encoding","ISO-8859-1");
此方法只是临时的更改字符集,关闭命令提示符后系统虚拟机仍会将字符集更改为默认值。
2、System.setProperty("file.encoding","ISO-8859-1");
System.setProperty("file.encoding","ISO-8859-1")等同于:System.getProperties().setProperties("file.encoding","ISO-8859-1")
此方法也只是临时的更改字符集,关闭命令提示符后系统虚拟机仍会将字符集更改为默认值。
3. 对于装载到Myeclipse的JDK我们可以通过Myeclipse来设置。
(6) 本地windows系统字符集和java虚拟机字符集的区别
我们知道从标准输入设备(如键盘)输入中文后,本地windows系统就会使用自身默认的GBK编码将中文对应的GBK码值存放在 字节数组中。输出时也是将字节数组中的GBK码值通过GBK解码为对应的中文。
Java虚拟机默认的字符集也是GBK,我们可以对其修改,如果我们将字节数组转换为字符或者字符串,就需要java虚拟机再次对字节数组进行编码,此时需要用到java虚拟机的编码方式,字符或者字符串输出到标准输出设备时还需要进行解码,用的也是java虚拟机的对应的解码方式。将字符或者字符串转换为字节数组,此时的字节数据便是中文对应的GBK码值,本地系统就会运用自己的GBK将GBK码值转换为中文。