设置Java JDK的默认编码为UTF-8
首先,在网上找了一段程序来查看自己当前系统的默认编码:
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相关推荐
- Beyond Compare 设置打开文件的默认编码
Beyond Compare 设置打开文件的默认编码 Beyond Compare 打开文件经常会以西欧编码打开,在有中文的地方,经常出现乱码.设置每个文件的编码方式后,下次点开依然会变成西欧编码. ...
- 设置Tomcat环境中运行JDK的默认编码为UTF-8
在Tomcat中运行java web项目时,有时候项目需要指定当前的运行环境的默认环境编码为UTF-8,但是又不想设置系统的全局的环境变量,如果设置了系统的环境变量,可能会对其他运行在系统中的其他we ...
- mysql数据表默认utf8_设置Mysql数据库的默认编码为utf8
进入mysql,查看默认编码:$ mysql -uroot -proot $ show variables like character%' 显示字符编码:+--------------------- ...
- 设置MySQL/MariaDB 数据库默认编码为utf8mb4 (推荐)
MySQL/MariaDB中的UTF-8并不是真正的UTF-8,其中的UTF8MB4才是真正的UTF-8.因此推荐使用UTF8MB4. 先查看自己数据库的默认字符集: MariaDB [(none)] ...
- java 批处理 设置 jdk_bat批处理设置Java JDK系统环境变量文件
@echo off set regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environmen ...
- java默认字体_设置 Java 系统的默认字体
Java应用和Windows应用一眼就能看出来,因为字体往往差别很明显.不同平台发布的Java有不同的缺省字体设置,比如:IBM的缺省是宋体-方正超大字体集,字库倒是很全,但字体看起来比较简陋(锯齿较 ...
- eclipse java jdk_设置Eclipse和Java JDK
我一直在尝试在Windows 7上安装和设置Java JDK 1.6和Eclipse(helios) . 我已经下载了每个32位,因为64位Eclipse版本不想工作 . 所以,完成了这个并修改了ec ...
- 创建MySql用户并给用户授权,设置mariadb默认编码,修改mariadb数据存储目录datadir...
GRANT ALL PRIVILEGES ON 数据库名.* TO '用户名'@'登录地址' IDENTIFIED BY '密码' WITH GRANT OPTION; FLUSH PRIVILEGE ...
- python为源文件指定系统默认_Python 设置系统默认编码
python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: 'ascii' codec can't deco ...
最新文章
- AI 版 Nature Index 排名,两种结果折射中国 AI 实力软肋
- golang struct json map 互相转化
- HTML特殊字符编码对照表
- 中国大学生源质量排行榜150强
- 六十二、Js中的冒泡和捕获点击事件和Vue组件绑定原生事件
- python3.5安装scrapy_Python3.5 win7安装scrapy
- java设计模式观察者模式吗_Java设计模式之观察者模式原理与用法详解
- Struts2之拦截器篇
- GlusterFS分布式存储系统
- C语言:运行中获取宏名字的技巧
- 大一c语言作业操作题库,c语言题目(大一c语言编程题库)
- SPSS常见数据分析方法比较汇总
- cisco命令防ping_ACL配置禁止PING
- Composer学习
- 洛谷P3373 线段树2(乘法加法lazytag)
- 南京航空航天大学矩阵论答案
- DDOS与DDOS追踪的介绍
- 网吧服务器点歌系统,和朋友在网吧五黑,看到网吧有点歌系统,就点了一首……...
- 如何正确认识和推进企业数字化转型?
- Apple Watch教程|如何取消配对并抹掉 Apple Watch?