gpt4 book ai didi

java - Netbeans 的 Hibernate Unicode;为什么在db中保存为 "?????"

转载 作者:行者123 更新时间:2023-11-29 09:01:38 25 4
gpt4 key购买 nike

我遇到类似 this post 的问题。我使用的是 netbeans 7.01 IDE 和 MySQL 5.2.35。我用过这个技巧但没有效果:我在配置文件中添加了此属性:

<property name="hibernate.connection.useUnicode">true</property>
<property name="hibernate.connection.characterEncoding">UTF-8</property>

还有:

jdbc:mysql://localhost:3307/MY_DB_NAME?useUnicode=true&characterEncoding=UTF-8

但没有效果!

我也尝试过这个java代码来使java String Unicode,但它是徒劳的:

    public static String toUTF8(String isoString) {
String utf8String = null;
if (null != isoString && !isoString.equals("")) {
try {
byte[] stringBytesISO = isoString.getBytes("ISO-8859-1");
utf8String = new String(stringBytesISO, "UTF-8");
} catch (UnsupportedEncodingException e) {
System.out.println("UnsupportedEncodingException is: " + e.getMessage());
utf8String = isoString;
}
} else {
utf8String = isoString;
}
return utf8String;
}

谁能帮帮我吗?

最佳答案

JVM 内的字符串已经正确编码。无需对它们重新编码。

只需将 String 实例传递给PreparedStatement 中的setString() 方法就可以了(前提是您的数据库确实使用UTF8)

顺便说一句:string.lenght() == 0"".equals(string)

快得多

关于java - Netbeans 的 Hibernate Unicode;为什么在db中保存为 "?????",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8427657/

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