undozen
V2EX  ›  Java

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

  •  
  •   undozen ·
    undoZen · Feb 15, 2014 · 7274 views
    This topic created in 4490 days ago, the information mentioned may be changed or developed.
    折腾了几个小时,定位到这个问题百思不得其解。来求助一下 V2EX 上的各位牛

    代码及 IDEA 的输出


    NetBeans 里面是对的

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

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

    0x00. 编辑器和console确实是2种编码的可能性很大,我还见过python输出中文没问题输入中文再输出全乱码的
    0x01. 我不认为你和web api有关系,console就是console,和web还是swing没关系吧?
    undozen
        6
    undozen  
    OP
       Feb 16, 2014
    @otakustay 不过你给的这个链接确实很游泳,就是 VM 启动时缺少 -Dfile.encoding=UTF-8 这个参数。与我想的一样是启动 GlassFish 的方式不正确,不过不知道是该怎么做。可能 NetBeans 默认加了这个参数。
    undozen
        7
    undozen  
    OP
       Feb 16, 2014
    所以这样就对了:
    leafgray
        8
    leafgray  
       Feb 16, 2014
    new String(data,charset)这样子可能好点。自己知道是什么样的charset....
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3938 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 05:05 · PVG 13:05 · LAX 22:05 · JFK 01:05
    ♥ Do have faith in what you're doing.