java - UTF-8 导出与 xwpf 不一致
问题描述
我在 Office 2013 上使用 XWPF apache 的 POI 库进行模板编辑。我正在使用 IntelIJ IDE。
当我在 IDE 环境中进行测试和运行程序时,一切正常:模板编码良好。但是当我导出 jar 时,一切正常,但是所有的口音都被破坏了。
我一直在寻找我的项目,它不是关于模板也不是内容数据,而是在导出过程中。有人见过吗?我应该怎么办?
注意:我已经用 Eclipse 进行了测试,我也遇到了同样的问题,这不是 IDE 配置问题,也不是构建问题。
我可以给你看的代码不多:与这个问题没有什么真正相关的。我正在使用这种方法导出 .docx:
POIXMLDocument#write(OutputStream)
谢谢您的帮助。
我尝试在每次文本替换时使用该方法(Apache POI 的编码问题),但它似乎不起作用。
解决方案
好的,抱歉,我找到了关于这个问题Encoding issue with apache poi converter的解决方案。
显然,你必须这样做:String theNewString = URLDecoder.decode(URLEncoder.encode(new String(oldString.getBytes(), StandardCharsets.UTF_8), "UTF-8"), "UTF-8")
。
祝你有美好的一天。
推荐阅读
- java - 如果 else 条件语句在 java 中不能正常工作
- excel - Excel根据另一个单元格的值复制单元格值
- javascript - How do I display certain html based on if statement?
- java - Changing android activity background color programmatically using settings
- python - In Python, if I type a=1 b=2 c=a c=b, what is the value of c? What does c point to?
- excel - Find similar cells in a row and replace with cell next to it
- python - 如何从不同目录导入同名的python模块?
- c - 如何在不使用 OpenSSL 函数的情况下将 XCert 许可证文件中的 SubjectName 和 Issuer 转换为 C 中的字符串
- php - 使用 Laravel 会话和表的 Wordpress 身份验证
- mongodb - 使用 $elemMatch 查询数组索引