【问题标题】:How to set proper chracter encoding for GNU/Linux如何为 GNU/Linux 设置正确的字符编码
【发布时间】:2015-02-14 19:24:34
【问题描述】:

我正在 Linux 服务器系统中创建文本文件,以将数据上传到其他系统。我正在从 DB2 数据库中读取数据。 如果在我的 windows 开发环境中创建文件,那么所有角色都可以正常运行。

例如,如果我在 windowsSystem.out.println(productx.getDescription().getName()); 中打印这一行 输出将是511™ Slim Fit - Rinsed Playa Jeans

如果在 Linux 系统上执行,同一行将产生以下输出

 511? Slim Fit - Rinsed Playa Jeans

如果我在那个Linux系统Charset charset = Charset.defaultCharset(); System.out.println("Default encoding: " + charset + " (Aliases: "+ charset.aliases() + ")");执行下面的代码,输出是

Default encoding: ISO-8859-1 (Aliases: [819, ISO_8859-1, csISOLatin1, l1, IBM-819, 8859-1, IBM819, ISO8859-1, latin1, ISO_8859_1, ISO-8859-1:1987, cp819, iso-ir-100, 8859_1, ISO8859_1])

如何解决这个问题?一些身体可以帮助我。我尝试了很多解决方案,但它不起作用。

【问题讨论】:

    标签: java linux string db2 wcs


    【解决方案1】:

    您的默认字符集是 Latin-1(又名 ISO 8859-1)。此字符集似乎不包含字符 。您的 JVM 可能会使用此默认值运行,因为您的系统配置为使用 Latin-1。您确保您的系统和 JVM 都使用 UTF-8。

    How to get terminal's Character Encoding

    【讨论】:

    • 问题是我无法更改服务器的字符编码,我可以将数据以二进制格式写入文件并通过FTP写入可以读取字符的其他系统
    • 我可以创建不同编码的文件。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-06
    • 1970-01-01
    • 2016-02-20
    相关资源
    最近更新 更多