无法使用伪造的中国国家/地区生成正确的数据

时间:2019-05-21 11:56:26

标签: java faker

我的要求是使用伪造者为中国国家/地区创建随机数据。 我正进入(状态 ???使用伪造商为CN国家/地区生成的数据。

对于其他地区(例如en-US和en-AU),数据正在正确生成

Faker faker = new Faker(new Locale("zh","CN"));
faker.name().firstName() - output: ???
faker.address().streetName() - output: ???
faker.address().cityName() - output: ???

任何人都可以帮我解决这个问题。

预先感谢

1 个答案:

答案 0 :(得分:1)

基于一些有限的研究(简要介绍了github上的source code),JavaFaker库确实支持Locale("zh","CN")

所以,我认为真正的问题是您的JVM处理输出的方式。

例如,如果您的JVM使用LATIN-1(或其他8位欧洲字符集)作为默认文本编码运行,则它将把中文字符转换为? ...,这是用于替换的字符。无法表示的代码点。

  • 如果您的控制台能够呈现Unicode(UTF-8),并且您已安装了中文字体,请尝试将控制台的默认字符编码更改为UTF-8。

  • 如果已经为UTF-8设置了控制台,请检查将System.getProperty(“ file.encoding”)设置为什么。

  • 阅读以下有关更改Java使用的默认编码的问答: