Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
$nbsp在Java中被一些奇怪的字符替换_Java_Swing_Replace_Character Encoding - Fatal编程技术网

$nbsp在Java中被一些奇怪的字符替换

$nbsp在Java中被一些奇怪的字符替换,java,swing,replace,character-encoding,Java,Swing,Replace,Character Encoding,我有一个桌面应用程序,我正在尝试用Windows桌面运行它,而它在Ubuntu中运行正常 但是在windows上运行时,$nbsp被一些有线字符所取代。“我不知道怎么修理它?” 有人能提出建议吗 for (int i = 0; i < table.length(); i++) { JSONObject data = table.getJSONObject(i); GetStringfromjson.addItem(data

我有一个桌面应用程序,我正在尝试用Windows桌面运行它,而它在Ubuntu中运行正常

但是在windows上运行时,$nbsp被一些有线字符所取代。“我不知道怎么修理它?”

有人能提出建议吗

for (int i = 0; i < table.length(); i++) {

                JSONObject data = table.getJSONObject(i);
                 GetStringfromjson.addItem(data.getString("SubActivityName"));
                 getbytesfromjson.addItem(data.getString("SubActivityName").getBytes());
                 gettochararray.addItem(data.getString("SubActivityName").toCharArray());
                 getstringonly.addItem((data.get("SubActivityName").toString().replaceAll("&Acirc;", " ")));
                 //System.out.println(data.get("SubActivityName").toString().trim());
                // System.out.println("*********"+System.getProperty("os.name"));
                 if (System.getProperty("os.name").indexOf("Linux")>=0) {

                    System.out.println(data.get("SubActivityName").toString());
                }
                 if (System.getProperty("os.name").indexOf("win")>=0) {

                    System.out.println(data.get("SubActivityName").toString());
                }
            }
for(int i=0;i=0){
System.out.println(data.get(“SubActivityName”).toString();
}
if(System.getProperty(“os.name”).indexOf(“win”)>=0){
System.out.println(data.get(“SubActivityName”).toString();
}
}

由于字体度量和字符编码的平台差异,以这种方式使用空格进行格式化是有问题的。相反,请使用自定义,这样可以更好地控制渲染。检查了相关的方法。

您能否发布一些代码来演示该问题?像往常一样,a是首选的。我只是将项目添加到组合框中,而且没有任何问题代码。它与ubunu的工作正常,但与wndows的工作不正常。请让我向您展示该代码。字符集问题。您需要在字符串文本和读取器上指定编码。@chrylis我知道我必须指定编码,但哪种编码将为我提供所需的结果?我知道它的编码不是我要求的。告诉我们如何加载JSON。在您发布此代码之前,您破坏了数据方式。那么我如何才能修复它,请记住我没有使用任何ListCellRenderer进行相同的操作。我建议更改为自定义的
ListCellRenderer
,以获得插图中显示的缩进效果。我没有使用ListCellRenderer,我告诉过你一次。如果你仍然这么说,那就给我演示一下我试着用的代码。我引用了上面的两个例子。请编辑您的问题,以包括一个显示您修改过的方法的列表。另请参见。我如何才能使其更好?我上传了一些代码,这些代码将项目添加到组合框中,甚至还有截图,显示了我得到的输出。我还应该在那贴什么?