给出以下实现时,我面临的问题是,在另一个系统上,与原始 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 最终解决方案
今天的文章 2026年java调用dll动态库 java接收char*乱码(java调用dll 参数传递)分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/49622.html