如何将短的unicode HTML文件保存为表字段?

时间:2014-03-17 21:25:01

标签: java hibernate jpa unicode javafx-2

我正在使用带有JPA 2的hibernate 4,我将它与Derby,MySQL或SQL Server一起使用!(无论如何应该不重要)

我想在表格字段中保存一个小的(<10kb)html文件。 html应该是Unicode。但我想知道如何在实体类中定义数据类型以及如何强制它以Unicode编写和读取(utf8)。在Java或注释中,当我将它显示在JavaFX2的浏览器组件中时。

1 个答案:

答案 0 :(得分:1)

应与数据库无关的表字段示例:

@Basic(fetch = LAZY) //lazy loading is optional
@Lob
@Column(name = "HTML", columnDefinition = "text", length = 10240)
private String html;

对于UTF-8编码,您可以尝试使用基于Hibernate的连接属性

<property name="hibernate.dialect" value="see below" />
<property name="hibernate.connection.characterEncoding" value="utf8" />
<property name="hibernate.connection.charSet" value="utf8" />
<property name="hibernate.connection.useUnicode" value="true" />

或最终使用JDBC URL,即

<property name="connection.url" 
          value="jdbc:DatabaseProvider://host:port/DatabaseName?URLAttributes"/>

其中URL属性(除了其他属性):

  • 的characterEncoding = UTF8
  • connectionCollat​​ion = utf8_general_ci
  • 了useUnicode =真

注意:可能需要使用UTF-8代替utf8(反之亦然) 注意:hibernate.dialect的值取决于the underlying database