郁闷死了,为什么 Intellij IDEA 和 NetBeans 里面跑 JavaEE 项目的 new String() 结果不一样?IDEA 弄出来都是问号

2014-02-15 22:53:54 +08:00
 undozen
折腾了几个小时,定位到这个问题百思不得其解。来求助一下 V2EX 上的各位牛

代码及 IDEA 的输出


NetBeans 里面是对的

为什么输入完全一样,输出不一样?难道是 deploy 和调用 glassfish 的方式不对?不知道他们在背后做了写什么(glassfish 是怎样启动的之类)
6557 次点击
所在节点    Java
8 条回复
jackytang520
2014-02-15 23:14:21 +08:00
你这就是字体对中文不支持显示乱码的乱码吧,换个支持中文的字体就好了
undozen
2014-02-15 23:17:12 +08:00
otakustay
2014-02-15 23:58:58 +08:00
楼主你想多了,这个怎么看都像是字体问题
http://www.kafeitu.me/tools/2013/03/26/intellij-deal-chinese-disorderly-code.html
undozen
2014-02-16 00:26:31 +08:00
@otakustay

0. 编辑器内可以显示中文汉字
1. 编辑器字体怎么会影响 web api 的输出
otakustay
2014-02-16 00:32:19 +08:00
@undozen 你按文章中的方法修改后是否问题还存在,还存在的话就继续研究其它方向。

0x00. 编辑器和console确实是2种编码的可能性很大,我还见过python输出中文没问题输入中文再输出全乱码的
0x01. 我不认为你和web api有关系,console就是console,和web还是swing没关系吧?
undozen
2014-02-16 00:34:53 +08:00
@otakustay 不过你给的这个链接确实很游泳,就是 VM 启动时缺少 -Dfile.encoding=UTF-8 这个参数。与我想的一样是启动 GlassFish 的方式不正确,不过不知道是该怎么做。可能 NetBeans 默认加了这个参数。
undozen
2014-02-16 00:38:00 +08:00
所以这样就对了:
leafgray
2014-02-16 10:22:40 +08:00
new String(data,charset)这样子可能好点。自己知道是什么样的charset....

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/100398

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX