CSV到H2 - 字符编码不匹配

时间:2013-05-14 06:47:44

标签: java linux windows csv h2

在我的应用中,我:

  • 让Hibernate创建H2 DB
  • 使用CSV导入(INSERT INTO ... SELECT ... FROM CSVREAD(file.csv))通过JDBC SQL语句填充数据库。文件采用UTF-8编码。

在Linux上,DB中的特殊字符是正确的。

在Windows上(默认编码为cp1250),特殊字符不正确。

当我尝试不同的CSV文件编码(cp1250,iso-8859-2)时,它适用于Windows,但不适用于Linux。

有没有办法告诉H2它需要在Windows上尊重UTF-8编码?

1 个答案:

答案 0 :(得分:1)

需要在options parameter of the CSVREAD function中设置UTF-8,如下所示:

CSVREAD('file.csv', null, 'charset=UTF-8')