gpt4 book ai didi

java - 无法将语言特定字符保留到 xml 数据类型的数据库列中

转载 作者:行者123 更新时间:2023-12-01 06:18:38 25 4
gpt4 key购买 nike

我需要将语言特定字符保存在 xml 数据类型列中,因为 XML 是我检索它时希望它采用的格式。就在坚持之前,我在 XML 中看到了俄语字符,但在我坚持使用 JPA 后实际存储的内容类似于“??????”。需要注意的是,要求将列数据类型保留为 xml。我尝试了网上能找到的一切,但没有成功。如果有人可以帮助我解决这个问题。

我有一个函数,它将包含语言字符的映射作为其参数之一。该函数将 map 转换为 XML 格式并以字符串形式返回。然后将其保存到数据库中:

entityManager.persist(X)

,其中 X 是一个实体对象,其 XML 字符串映射到其属性之一。

private String toXML(Map<String, String> map, String root) {
StringBuilder xmlSB = new StringBuilder(OPEN_NODE);
// Logic to convert map to XML
return xmlSB.toString();
}

紧接着entityManager.persist(X),我在数据库表中看到的条目类似于“????”替换我的例子中的所有俄语字符,其余一切保持不变。

最佳答案

将列排序规则修改为 UTF-8 并在 jdbc URL 处添加字符串 characterEncoding=UTF-8。这个逻辑曾经我用于mysql。

但是要在mssql中存储特殊字符,您需要将列的数据类型更改为nvarchar()而不是varchar()。

关于java - 无法将语言特定字符保留到 xml 数据类型的数据库列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17084157/

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