gpt4 book ai didi

java - 我如何将 UTF8mb4 转换为 UTF-8?

转载 作者:行者123 更新时间:2023-11-29 03:12:36 24 4
gpt4 key购买 nike

我正在使用 docx4j 将 .docx 文件转换为 html,然后将该数据保存到 MySQL 数据库中。不幸的是,我们遇到了障碍。当我们转换包含以 utf8mb4 编码的任何字符的文档,然后尝试将该数据提交到我们的 MySQL 服务器时,我们遇到了通用 JDBC 异常,该异常表明它不知道如何解析 utf8mb4 字符。

错误 pool-3-thread-20 org.hibernate.util.JDBCExceptionReporter - 字符串值不正确:'\xEF\xBF\xBD???...' 第 1 行的“u_content”列

我没有将我们的 MySQL 服务器升级到 5.5 的“许可”,因此该修复程序已失效。

在 Java 中,我能否以某种方式将 utf-8mb4 转换回 utf-8,并将所有 utf-8mb4 字符转换为 � 或其他字符?

最佳答案

您应该先删除不良字符,然后将您的内容保存到数据库中。这将帮助您:

public static String removeBadChars(String s) {
if (s == null) return null;
StringBuilder sb = new StringBuilder();
for(int i = 0 ; i < s.length() ; i++){
if (Character.isHighSurrogate(s.charAt(i))) continue;
sb.append(s.charAt(i));
}
return sb.toString();
}

关于java - 我如何将 UTF8mb4 转换为 UTF-8?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28488939/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com