给出以下实现时,我面临的问题是,在另一个系统上,与原始 XML 文件相比,XML 文件缺少元音变音 (ä、ü、ö)。 XML 文件中插入的是替换字符,而不是变音符号。 (0xEF 0xBF 0xBD (efbfbd))
- 获取包含带有变音符号的 XML 的 zip 文件
- 解压 zip 文件
- 将 xml 内容编码为 Base64 负载并将其保存到数据库
- 查询实体
- 获取 Base64 负载
- 解码 Base64 内容
- 解码后的 Base64 内容是一个 XML,其中应包含源变音符号
让我发疯的是,解码的 Base64 内容在另一个系统上缺少变音符号。我得到的不是元音变音而是替换字符。在我的系统上,相同的实现无需替换即可工作。
以下代码只是一个 MCVE,用于解释在我的系统上运行正常但在其他系统 (Windows Server 2013) 上解码后会丢失变音符号的问题。
这三个文件仅用于测试目的,但我希望您能解决问题
编辑
这两种方法都可以在我的机器上使用 ü、ö、ä 创建 XML 文件 仅WITHOUT 实现会在另一个系统上创建带有ü、ö、ä 的XML XML 文件WITH UTF-8 的“内容”字符串包含for ü =>
编辑#2
在我的机器上在 IntelliJ 中运行代码和在 IntelliJ 之外运行代码似乎也存在差异。不知道这会产生如此巨大的差异。因此,如果我在 IntelliJ 之外运行代码 (java.exe -jar myjarfile),WITH UTF8 部分将替换 Ü。与...我不知道。 Notepad++ 显示 xFC。有趣的是:我的树莓派显示这两个文件都带有 Ü,而我的 Windows/notepad++ 显示 xFC。
整件事让我很困惑,我想知道问题出在哪里。还因为 XML 文件包含 UTF8 作为 header 中的编码。
编辑 #3 最终解决方案
到此这篇java调用dll动态库 java接收char*乱码(java调用dll 参数传递)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/jjc/72080.html