把windows系统的默认编码改成UTF 您所在的位置:网站首页 美版win8怎么改中文版系统 把windows系统的默认编码改成UTF

把windows系统的默认编码改成UTF

2023-12-22 04:43| 来源: 网络整理| 查看: 265

    对于开发人员来说windows的编码的确是神一般的存在,windows老版本语言编码实际上是ascii和gbk编码混用,因此经常乱码。现在UTF-8国际化流行的阶段,windows这么多年,不知道耽误了多少程序员 :),老朱是linux服务器,数据库服务器,web服务器,程序代码都已经改成UTF-8编码了,因此很少出现乱码的情况。

     好在现在Windows 10 虽然是beta版,还是可以修改的。按照下面的步骤修改就可以了。

首先是在 控制面板 --->> 时间和语言--->语言--->管理语言设置

 

 

然后 “管理”选项卡 --->更改系统区域设置 --->选择 beta版前面的对勾--->确认重启电脑。

 

     

      切换后 ,按win+r 键,输入cmd 回车,输入chcp 会发现编码会变成了 65001

       对于php程序,能兼容,因为php是二进制读写和输出文件。      如果java程序是utf-8格式,文件编码utf-8,在命令行下执行还是会乱码 ,比如下面的程序。

public class Test {          public static void main(String[] args) {                      System.out.println("简体中文" );     } }

通过执行下面的代码,java使用的编码还是GBK

import java.io.ByteArrayOutputStream; import java.io.OutputStreamWriter; import java.nio.charset.Charset; class Test { public static void main(String[] args) { System.out.println("Default Charset=" + Charset.defaultCharset()); System.out.println("file.encoding=" + System.getProperty("file.encoding")); System.out.println("Default Charset=" + Charset.defaultCharset()); System.out.println("Default Charset in Use=" + getDefaultCharSet()); } private static String getDefaultCharSet() { OutputStreamWriter writer = new OutputStreamWriter(new ByteArrayOutputStream()); String enc = writer.getEncoding(); return enc; } }

Java官方文档有提到可以在系统变量中设置JAVA_TOOL_OPTIONS来指定运行Java程序时附带的一些参数,即每次运行Java程序时都会将这些参数附加进去,参考原文: http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#tooloptions 那么,现在就可以在系统环境变量中增加一个变量,变量名为: JAVA_TOOL_OPTIONS, 变量值为:-Dfile.encoding=UTF-8,保存,重新打开命令提示符,现在,再运行一次刚刚的程序,得到结果:

这时候 运行 java的程序 也正常了。但是对于UTF-8的文件javac编译的时候,直接输入类名,会提示 “错误: 仅当显式请求注释处理时才接受类名称 'Test'” ,需要增加.java后缀名 javac Test.java 

另外 测试了一下各种应用软件,svn和git编码也正常。

    不过有一个问题就是切换到UTF-8后,以前GBK编码的文件,无法正常显示,而且无法用记事本转码。 

也不能用记事本将文件保存为ascii码。

     建议还是用非常小巧的Editplus 这个软件吧。 Editplus 非常好用。 建议将editplus 设置为默认的UTF-8编码。

在editPlus选择 工具-->参数设置,编码选择UTF-8

 

如果遇到其他的文件,打开文件的时候,选择编码为GBK,如果没有GBK编码

如果默认没有GBK 编码,在点下拉菜单,可以增加GBK编码。

 

自此,老朱把系统编码改成UTF-8后,使用完全正常。几乎所有的编码统一为UTF-8后,也几乎没有遇到乱码的问题。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有