Java无法以正确的编码读取中文字符

Anson Liao

我在10.8中使用Mac OSX。我的Appium Java测试代码需要从iOS应用的可访问性标签中读取中文标签,而可访问性标签为中文字符串,但是当Java以错误的编码方式将中文字符串读取到内存中时。我的Java源代码另存为“ UTF-8”;我的终端设置为“ UTF-8”;

和酸味代码如下:

String correct_aid = "你好";
String got_aid = driver.findElement(By.name('sayHello')).getText();
if (got_aid.contains(correct_aid)) {
    System.out.println("Got accessibility label string is matched.");
}
else {
    System.out.println("Got accessibility label string is not matched.");
    System.out.println("Expected accessibility label is: [" + correct_aid + "]");
    System.out.println("Captured accessibility label is: [" + got_aid + "]")
}

我得到的结果如下:

Got accessibility label string is not matched.
Expected accessibility label is: [你好]
Captured accessibility label is: [????]

看起来,Java可以打印出在Java源代码中创建的变量,并且该值是中文字符串,但是无法通过读取输出源来转换正确的编码。

我还在终端中运行“语言环境”,并得到以下结果:

LANG=
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL="en_US.UTF-8"

如您所知,如果输出源是txt文件,则可以在保存时将编码更改为“ UTF-8”以进行修复,但是现在我的输出源是iOS应用程序,因此无法通过更改源代码编码。

您能否提供我可以解决此问题的其他方法?非常感谢。

Anson Liao

我解决了这个问题,并在下面将语句添加到〜/ .bash_profile

export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8

然后运行下面的命令将其启用。

source ~/.bash_profile

希望可以帮助更多遇到这个问题的人。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Javascript unicode字符串,中文字符,但无标点符号

来自分类Dev

使用Java Mail API无法正确阅读中文字母

来自分类Dev

无法在Python中的中文字符串中逐字符打印

来自分类Dev

将特殊字符(例如中文字符)从PHP转移到android

来自分类Dev

Perl-带中文字符的quotemeta

来自分类Dev

不使用utf8编码显示中文字符?

来自分类Dev

Strings.xml无法识别中文字符

来自分类Dev

使用iTextpdf无法显示某些中文字体

来自分类Dev

C#Windows窗体无法显示简体中文字符

来自分类Dev

如何在ZipEntry中写中文字符?

来自分类Dev

以背景颜色正确居中文字

来自分类Dev

PDFMake:无法显示中文字体

来自分类Dev

模仿Web URL在python中编码中文字符

来自分类Dev

Java + Spring + Vault:密码中的中文字符,变为“ ???” 在应用程序中

来自分类Dev

Java中的中文字符串处理?

来自分类Dev

UTF-8中文字符在Weblogic 10.3中显示不正确,但在Tomcat 6中却不正确

来自分类Dev

Javascript unicode字符串,中文字符,但不带标点符号

来自分类Dev

包含中文字符到ASCII的字符串

来自分类Dev

在VIM中看不到中文字符

来自分类Dev

QLineEdit日语/中文字符䭢未显示

来自分类Dev

为什么安装了noto cjk后无法显示中文字符?

来自分类Dev

Firefox 57.0中不显示中文字符

来自分类Dev

简体中文字符显示为问号菱形

来自分类Dev

无法打开带有中文字符的html文件

来自分类Dev

Asp.Net Core 简体中文字符不显示正确的 PDF 导出(本地化、全球化)

来自分类Dev

iText - 不显示中文字符

来自分类Dev

Flutter http MultipartRequest 字段不能是中文字符?

来自分类Dev

中文字符的base64编码

来自分类Dev

在 Linux 上使用中文字符进行 XML UTF-8/ISO-8859-1 编码的问题

Related 相关文章

  1. 1

    Javascript unicode字符串,中文字符,但无标点符号

  2. 2

    使用Java Mail API无法正确阅读中文字母

  3. 3

    无法在Python中的中文字符串中逐字符打印

  4. 4

    将特殊字符(例如中文字符)从PHP转移到android

  5. 5

    Perl-带中文字符的quotemeta

  6. 6

    不使用utf8编码显示中文字符?

  7. 7

    Strings.xml无法识别中文字符

  8. 8

    使用iTextpdf无法显示某些中文字体

  9. 9

    C#Windows窗体无法显示简体中文字符

  10. 10

    如何在ZipEntry中写中文字符?

  11. 11

    以背景颜色正确居中文字

  12. 12

    PDFMake:无法显示中文字体

  13. 13

    模仿Web URL在python中编码中文字符

  14. 14

    Java + Spring + Vault:密码中的中文字符,变为“ ???” 在应用程序中

  15. 15

    Java中的中文字符串处理?

  16. 16

    UTF-8中文字符在Weblogic 10.3中显示不正确,但在Tomcat 6中却不正确

  17. 17

    Javascript unicode字符串,中文字符,但不带标点符号

  18. 18

    包含中文字符到ASCII的字符串

  19. 19

    在VIM中看不到中文字符

  20. 20

    QLineEdit日语/中文字符䭢未显示

  21. 21

    为什么安装了noto cjk后无法显示中文字符?

  22. 22

    Firefox 57.0中不显示中文字符

  23. 23

    简体中文字符显示为问号菱形

  24. 24

    无法打开带有中文字符的html文件

  25. 25

    Asp.Net Core 简体中文字符不显示正确的 PDF 导出(本地化、全球化)

  26. 26

    iText - 不显示中文字符

  27. 27

    Flutter http MultipartRequest 字段不能是中文字符?

  28. 28

    中文字符的base64编码

  29. 29

    在 Linux 上使用中文字符进行 XML UTF-8/ISO-8859-1 编码的问题

热门标签

归档