2025年java调用dll动态库 java接收char*乱码(java调用dll 参数传递)

java调用dll动态库 java接收char*乱码(java调用dll 参数传递)给出以下实现时 我面临的问题是 在另一个系统上 与原始 XML 文件相比 XML 文件缺少元音变音 XML 文件中插入的是替换字符 而不是变音符号 0xEF 0xBF 0xBD efbfbd li 获取包含带有变音符号的 XML 的 zip 文件 li li 解压 zip 文件 li lt

大家好,我是讯享网,很高兴认识大家。



给出以下实现时,我面临的问题是,在另一个系统上,与原始 XML 文件相比,XML 文件缺少元音变音 (ä、ü、ö)。 XML 文件中插入的是替换字符,而不是变音符号。 (0xEF 0xBF 0xBD (efbfbd))

    <li>获取包含带有变音符号的 XML 的 zip 文件</li> <li>解压 zip 文件</li> <li>将 xml 内容编码为 Base64 负载并将其保存到数据库</li> <li>查询实体</li> <li>获取 Base64 负载</li> <li>解码 Base64 内容</li> <li>解码后的 Base64 内容是一个 XML,其中应包含源变音符号</li> 

    讯享网

让我发疯的是,解码的 Base64 内容在另一个系统上缺少变音符号。我得到的不是元音变音而是替换字符。在我的系统上,相同的实现无需替换即可工作。

以下代码只是一个 MCVE,用于解释在我的系统上运行正常但在其他系统 (Windows Server 2013) 上解码后会丢失变音符号的问题。

这三个文件仅用于测试目的,但我希望您能解决问题

编辑

这两种方法都可以在我的机器上使用 ü、ö、ä 创建 XML 文件 仅WITHOUT 实现会在另一个系统上创建带有ü、ö、ä 的XML XML 文件WITH UTF-8 的“内容”字符串包含for ü =&gt;


讯享网

编辑#2

在我的机器上在 IntelliJ 中运行代码和在 IntelliJ 之外运行代码似乎也存在差异。不知道这会产生如此巨大的差异。因此,如果我在 IntelliJ 之外运行代码 (java.exe -jar myjarfile),WITH UTF8 部分将替换 Ü。与…我不知道。 Notepad++ 显示 xFC。有趣的是:我的树莓派显示这两个文件都带有 Ü,而我的 Windows/notepad++ 显示 xFC。

整件事让我很困惑,我想知道问题出在哪里。还因为 XML 文件包含 UTF8 作为 header 中的编码。

编辑 #3 最终解决方案

小讯
上一篇 2025-05-03 17:19
下一篇 2025-05-05 10:03

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/200778.html