当前位置: 首页 > 知识库问答 >
问题:

在Mac终端中显示为问号的汉字

麻鹏鹍
2023-03-14

我试图从数据库中检索一些UTF-8 uni编码的汉字,使用Java文件。当我这样做时,字符返回为问号。

LANG="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_CTYPE="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_ALL=
 javac -encoding UTF-8 [java file] 

这是相当奇怪的它将如何只是有时显示的字符。有人对此有解释吗?或者更好的是,如何修复这一点,以使字符正确显示?

共有1个答案

裴心思
2023-03-14

system.outprintstream不是作为UTF-8打印流创建的。您可以将其转换为一个,如下所示:

import java.io.PrintStream;
import java.io.UnsupportedEncodingException;

public class JavaTest {

    public static void main(String[] args) {


        try{
            PrintStream out = new PrintStream(System.out, true, "UTF-8");

            out.println("Hello");
            out.println("施华洛世奇");
            out.println("World");
        }
        catch(UnsupportedEncodingException UEE){

            //Yada yada yada
        }
    }
}

您还可以按照此处设置默认编码,方法是:

java -Dfile.encoding=UTF-8  -jar JavaTest.jar
 类似资料:
  • 问题内容: 我正在尝试使用Java文件从数据库中检索一些UTF-8 uni编码汉字。当我这样做时,字符将作为问号返回。 但是,当我显示数据库中的字符(使用)时,这些字符将正常显示。当我在包含汉字的Java文件中打印字符串时,它们也会正常打印。 我在Eclipse中遇到了这个问题:运行程序时,字符被打印为问号。但是,当我以UTF-8格式保存Java文件时,此问题已解决。 当前在终端中运行“ loca

  • 我知道如何在 Windows 版本中做到这一点,但在 ubuntu 上,我在设置/外观中没有“显示行号”切克框 谢谢

  • 问题内容: 过去几天,我一直在搜索有关此内容的信息,但我认为我找不到正确的指针。如果发现重复,请与适当的问题合并。 我是使用JSON的新手,作为我的项目之一,我需要解码JSON文件并对其进行进一步处理。但是,当我尝试使用Json- simple库解码时,在解析的对象中出现了一些奇怪的问号,而不是实际的字符。示例代码如下所示: 我也尝试过使用Json-lib,但结果相同。 谢谢您的帮助。 问题答案:

  • 我正在尝试将GitBash作为一个选项插入Visual Studio代码中。我的设置看起来像这样: 但是,在最后一行,Visual Studio Code给出的错误是: 我不明白我哪里做错了。 注意:< code >“terminal . integrated . shell . windows”自2021年4月起已被弃用。

  • 这是我的测试代码,但我有一个更详细的代码——但它们都不起作用。在python 3. x中。 编辑:这就是我想使用的终端(和语法错误-同样的问题):

  • 问题内容: 我正在尝试使用System.out编写unicode字符(♠),并改为打印问号。 如何显示正确的unicode字符而不是问号? 我在Windows上使用IntelliJ IDEA,并尝试从IDE中进行打印。 问题答案: 文件编码配置是否正确?请参见“设置|文件编码”使用UTF-8。当我具有IDE编码并且所有文件都设置为UTF-8时,Printing♠对我有用。更改编码后可能需要重新编译