2

在我的应用程序中,我:

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

在 Linux 上,数据库中的特殊字符是正确的。

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

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

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

4

1 回答 1

3

UTF-8需要在函数的options参数中CSVREAD设置,如下:

CSVREAD('file.csv', null, 'charset=UTF-8')
于 2013-05-14T12:07:44.177 回答