gpt4 book ai didi

java - Unicode 字符变成问号

转载 作者:太空宇宙 更新时间:2023-11-04 15:13:31 24 4
gpt4 key购买 nike

在我的生产级应用程序中,我正在解决一些与 unicode 字符(如中文/日文字符串)相关的问题。

我的应用程序有一个启动程序和一个配置文件,用于设置运行 jvm 时可以使用的所有参数。此配置文件作为命令行参数的一部分传递。

所讨论的用例是,我需要传递一个配置文件(名称-值对格式的内容)。该配置文件的名称中包含 unicode 字符(即中文)。当我从命令提示符运行应用程序时。我传递了完整的配置文件路径,其中复制时的文件名看起来像“????.conf”。当我在代码中收到文件时,其格式仍然是“some/path/and/????.conf”。最终,当我通过文件运行此路径时,检查是否失败,即 new File(path).isFile();

所以我创建了一个小程序来测试这个场景,该程序的工作是将文件路径作为命令行参数的一部分,打印它并读取该文件的内容。在运行之前,它看起来与上面类似,即“some/path/and/????.conf”,当它运行并打印位置时,它仍然是相同的,即“some/path/and/????.conf”。 session ”。但是当我调试它时,我能够看到正确的汉字并且能够读取文件及其内容。

所以我不确定我的主应用程序缺少什么/有什么不同。我检查和尝试过的几件事是,1.通过命令chcp 650001将命令提示符的编码类型更改为UTF-8。2. 设置java属性“-Dfile.encoding=UTF-8”。

但是这也没有帮助。操作系统是windows 7,java版本是1.7.0.45。

关于在哪里查看以及为什么类似的代码在我的小程序中有效而在主应用程序中不起作用的任何指示。

======一项更正,作为命令提示符的一部分传递给 java 程序的文件是 xml 格式。并将编码类型设置为 UTF-8,即通过“”。

因此,在简单文件读取类其工作的情况下,相同的文件被传递给两个程序,而它不与主应用程序一起工作。与主应用程序不同的是,除了这个 xml 文件之外,还有其他参数传递。

谢谢

维姬

最佳答案

检查.conf文件的编码类型。应该已经保存了 采用 UTF-8 编码。

关于java - Unicode 字符变成问号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21090083/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com