Charset.defaultCharset() 获取的语言环境的编码到底是哪里来的 ?
2016-05-11 12:43
337 查看
Charset.defaultCharset() 获取的语言环境的编码到底是哪里来的 ?
写个单元测试验证下:
立马懵逼了。对不起前任公司啊,可能给你写错了一行代码(这里是可能,到我离职也没有问题啊)。文章的最后我解释一下
问了一下度娘:是eclipse默认编码的问题;修改既可以。
![](http://img.blog.csdn.net/20160511123228049?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
但是这就是问题了:线上是放在tomcat中的。没有eclipse。你说Charset.defaultCharset() 读取是哪里的语言环境的编码呢?
补充:tomcat没有默认语言编码。可以设置conf/server.xml文件中[b]Connector 标签;设置[/b]<Connector
URIEncoding="utf-8" />;
再问度娘:
可以修改环境变量:
变量名:JAVA_TOOL_OPTIONS变量值:-Dfile.encoding=UTF-8
![](http://img.blog.csdn.net/20160511123548550?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
执行单元测试
![](http://img.blog.csdn.net/20160511122715937?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
貌似可以结贴了:
Charset.defaultCharset()默认读取还是配置的语言编码;也是就是系统的;
我以前的代码没有暴露出来的错误,可能是我们的运维小哥给系统设置的语言环境是UTF-8;
以上都不是重点:我想说的是:关注在系统和系统之间交互的时候,要注意语言编码;正确选择合适的代码。
引申:以上都不是重点:下篇博客我会介绍加解密的一些简单知识。
写个单元测试验证下:
public class Test { public static void main(String args[]){ System.out.println(Charset.defaultCharset()); } }执行结果是GBK:
立马懵逼了。对不起前任公司啊,可能给你写错了一行代码(这里是可能,到我离职也没有问题啊)。文章的最后我解释一下
问了一下度娘:是eclipse默认编码的问题;修改既可以。
但是这就是问题了:线上是放在tomcat中的。没有eclipse。你说Charset.defaultCharset() 读取是哪里的语言环境的编码呢?
补充:tomcat没有默认语言编码。可以设置conf/server.xml文件中[b]Connector 标签;设置[/b]<Connector
URIEncoding="utf-8" />;
再问度娘:
可以修改环境变量:
变量名:JAVA_TOOL_OPTIONS变量值:-Dfile.encoding=UTF-8
执行单元测试
貌似可以结贴了:
Charset.defaultCharset()默认读取还是配置的语言编码;也是就是系统的;
我以前的代码没有暴露出来的错误,可能是我们的运维小哥给系统设置的语言环境是UTF-8;
以上都不是重点:我想说的是:关注在系统和系统之间交互的时候,要注意语言编码;正确选择合适的代码。
引申:以上都不是重点:下篇博客我会介绍加解密的一些简单知识。
相关文章推荐
- go mobile 得生命周期事件
- poj之旅——2393
- c语言题中的一些陷阱
- IIstesbuS.90
- hdu 1864 最大报销额 01背包
- 简单工厂模式
- c++第五次实验
- 加载自定义cell
- 让自己不要太浮躁
- UrlScheme让别人可以打开我们的应用
- hdu 2955 Robberies 01背包 变态
- C注释风格转化为C++风格注释
- c++上机实验5--数组
- 使用mysqldump迁移数据
- RelativeLayout相对布局常用属性
- TEST
- Leetcode-2. Add Two Numbers
- hdu1171 Big Event in HDU
- CodeForces 617D CodeForces 617D
- 动态内存简介