Charset.defaultCharset()和props.get("file.encoding")默认编码由什么决定?cmd eclipse idea处理策略各不相同

1 cmd与文件编码无关,我的电脑始总是GBK

GBK

Charset.defaultCharset()和props.get("file.encoding")默认编码由什么决定?cmd eclipse idea处理策略各不相同

Charset.defaultCharset()和props.get("file.encoding")默认编码由什么决定?cmd eclipse idea处理策略各不相同

UTF-8

Charset.defaultCharset()和props.get("file.encoding")默认编码由什么决定?cmd eclipse idea处理策略各不相同

Charset.defaultCharset()和props.get("file.encoding")默认编码由什么决定?cmd eclipse idea处理策略各不相同

 

 

 

2  eclipse如下,与文件编码有关一致

GBK

Charset.defaultCharset()和props.get("file.encoding")默认编码由什么决定?cmd eclipse idea处理策略各不相同

Charset.defaultCharset()和props.get("file.encoding")默认编码由什么决定?cmd eclipse idea处理策略各不相同

UTF-8

Charset.defaultCharset()和props.get("file.encoding")默认编码由什么决定?cmd eclipse idea处理策略各不相同

Charset.defaultCharset()和props.get("file.encoding")默认编码由什么决定?cmd eclipse idea处理策略各不相同

 

3 idea如下,与文件编码无关,我的电脑总是UTF-8

GBK

Charset.defaultCharset()和props.get("file.encoding")默认编码由什么决定?cmd eclipse idea处理策略各不相同

 

UTF-8

Charset.defaultCharset()和props.get("file.encoding")默认编码由什么决定?cmd eclipse idea处理策略各不相同

 

idea深入研究

打开idea设置,有两个参数Global encoding,Project encoding

优先级:Project encoding  > Global encoding > 系统默认。类似git:local(project) > global(user) > system

所以:

1、Project encoding只要不是"<System Default>"则以Project encoding的编码为准;

2、Project encoding如果是"<System Default>"则以Global encoding的编码为准;

3、Project encoding和Global encoding都是"<System Default>"则以系统的编码为准。

4、idea中默认 Project encoding是"<System Default>",Global encoding是UTF-8

Charset.defaultCharset()和props.get("file.encoding")默认编码由什么决定?cmd eclipse idea处理策略各不相同

 

 

结论:IDEA和eclipse这种IDE对编码做了处理,而cmd直接以系统编码为准