V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
undozen
V2EX  ›  Java

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

  •  
  •   undozen ·
    undoZen · 2014-02-15 22:53:54 +08:00 · 6412 次点击
    这是一个创建于 3715 天前的主题,其中的信息可能已经有所发展或是发生改变。
    折腾了几个小时,定位到这个问题百思不得其解。来求助一下 V2EX 上的各位牛

    代码及 IDEA 的输出


    NetBeans 里面是对的

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

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

    0x00. 编辑器和console确实是2种编码的可能性很大,我还见过python输出中文没问题输入中文再输出全乱码的
    0x01. 我不认为你和web api有关系,console就是console,和web还是swing没关系吧?
    undozen
        6
    undozen  
    OP
       2014-02-16 00:34:53 +08:00
    @otakustay 不过你给的这个链接确实很游泳,就是 VM 启动时缺少 -Dfile.encoding=UTF-8 这个参数。与我想的一样是启动 GlassFish 的方式不正确,不过不知道是该怎么做。可能 NetBeans 默认加了这个参数。
    undozen
        7
    undozen  
    OP
       2014-02-16 00:38:00 +08:00
    所以这样就对了:
    leafgray
        8
    leafgray  
       2014-02-16 10:22:40 +08:00
    new String(data,charset)这样子可能好点。自己知道是什么样的charset....
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4189 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 05:27 · PVG 13:27 · LAX 22:27 · JFK 01:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.