首先,在网上找了一段程序来查看自己当前系统的默认编码:

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;}}

结果显示为:

如图,由于我的系统是中文语言的,得到的是GBK编码,实际上可以在运行程序时给它指定编码,用-Dfile.encoding=UTF-8参数即可,但在某些时候,运行Java程序不是由我们人为控制的,例如我在使用BalckBerry WebWorks SDK时用bbwp时无法在它调用Java时给它指定encoding参数,于是杯具就产生了,出现了一大堆带问号的错误,显然是编码的问题,这种情况下,就只能设全局变量来改变encoding了。

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,保存,重新打开命令提示符,现在,再运行一次刚刚的程序,得到结果:

现在显示为UTF-8编码了,注意红色方框部分,每次执行时都会先出现这些参数,在这里我还加了两个参数,改变了默认的语言和时区,因为我发现改了编码为UTF-8后,出现的Java提示如java -help之类的都会变成乱码,所以把它改成英文的提示了。

设置Java JDK的默认编码为UTF-8相关推荐

  1. Beyond Compare 设置打开文件的默认编码

    Beyond Compare 设置打开文件的默认编码 Beyond Compare 打开文件经常会以西欧编码打开,在有中文的地方,经常出现乱码.设置每个文件的编码方式后,下次点开依然会变成西欧编码. ...

  2. 设置Tomcat环境中运行JDK的默认编码为UTF-8

    在Tomcat中运行java web项目时,有时候项目需要指定当前的运行环境的默认环境编码为UTF-8,但是又不想设置系统的全局的环境变量,如果设置了系统的环境变量,可能会对其他运行在系统中的其他we ...

  3. mysql数据表默认utf8_设置Mysql数据库的默认编码为utf8

    进入mysql,查看默认编码:$ mysql -uroot -proot $ show variables like character%' 显示字符编码:+--------------------- ...

  4. 设置MySQL/MariaDB 数据库默认编码为utf8mb4 (推荐)

    MySQL/MariaDB中的UTF-8并不是真正的UTF-8,其中的UTF8MB4才是真正的UTF-8.因此推荐使用UTF8MB4. 先查看自己数据库的默认字符集: MariaDB [(none)] ...

  5. java 批处理 设置 jdk_bat批处理设置Java JDK系统环境变量文件

    @echo off set regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environmen ...

  6. java默认字体_设置 Java 系统的默认字体

    Java应用和Windows应用一眼就能看出来,因为字体往往差别很明显.不同平台发布的Java有不同的缺省字体设置,比如:IBM的缺省是宋体-方正超大字体集,字库倒是很全,但字体看起来比较简陋(锯齿较 ...

  7. eclipse java jdk_设置Eclipse和Java JDK

    我一直在尝试在Windows 7上安装和设置Java JDK 1.6和Eclipse(helios) . 我已经下载了每个32位,因为64位Eclipse版本不想工作 . 所以,完成了这个并修改了ec ...

  8. 创建MySql用户并给用户授权,设置mariadb默认编码,修改mariadb数据存储目录datadir...

    GRANT ALL PRIVILEGES ON 数据库名.* TO '用户名'@'登录地址' IDENTIFIED BY '密码' WITH GRANT OPTION; FLUSH PRIVILEGE ...

  9. python为源文件指定系统默认_Python 设置系统默认编码

    python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: 'ascii' codec can't deco ...

最新文章

  1. AI 版 Nature Index 排名,两种结果折射中国 AI 实力软肋
  2. golang struct json map 互相转化
  3. HTML特殊字符编码对照表
  4. 中国大学生源质量排行榜150强
  5. 六十二、Js中的冒泡和捕获点击事件和Vue组件绑定原生事件
  6. python3.5安装scrapy_Python3.5 win7安装scrapy
  7. java设计模式观察者模式吗_Java设计模式之观察者模式原理与用法详解
  8. Struts2之拦截器篇
  9. GlusterFS分布式存储系统
  10. C语言:运行中获取宏名字的技巧
  11. 大一c语言作业操作题库,c语言题目(大一c语言编程题库)
  12. SPSS常见数据分析方法比较汇总
  13. cisco命令防ping_ACL配置禁止PING
  14. Composer学习
  15. 洛谷P3373 线段树2(乘法加法lazytag)
  16. 南京航空航天大学矩阵论答案
  17. DDOS与DDOS追踪的介绍
  18. 网吧服务器点歌系统,和朋友在网吧五黑,看到网吧有点歌系统,就点了一首……...
  19. 如何正确认识和推进企业数字化转型?
  20. Apple Watch教程|如何取消配对并抹掉 Apple Watch?

热门文章

  1. java自学路线图_JAVA自学路线图
  2. 测试工程师需要具备的技能
  3. 数据结构之外部排序:置换-选择排序
  4. (数据库系统概论|王珊)第三章关系数据库标准语言SQL-第二、三节:数据定义
  5. Linux系统编程24:基础IO之在Linux下深刻理解C语言中的动静态库以及头文件和库的关系
  6. Qt之QThread用法
  7. 一句命令删除docker所有镜像或容器
  8. 树:哈夫曼树和哈夫曼编码的详细介绍以及代码实现
  9. Python面向对象基础:编码细节和注意事项
  10. Windows之Xmanager连接linux打开Oracle视图操作