【发布时间】:2013-05-14 06:47:44
【问题描述】:
在我的应用中,我:
- 让 Hibernate 创建 H2 DB
- 使用 CSV 导入 (
INSERT INTO ... SELECT ... FROM CSVREAD(file.csv)) 通过 JDBC SQL 语句填充数据库。文件采用 UTF-8 编码。
在 Linux 上,数据库中的特殊字符是正确的。
在 Windows 上(默认编码 cp1250)特殊字符不正确。
当我尝试不同的 CSV 文件编码(cp1250、iso-8859-2)时,它适用于 Windows,但不适用于 Linux。
有没有办法告诉 H2 它需要在 Windows 上尊重 UTF-8 编码?
【问题讨论】:
-
您在使用 Eclipse 吗?默认情况下,Windows 中 Eclipse 中的 Java 项目使用不同的编码。在项目首选项中将其更改为 UTF8 可能会解决您的问题。
-
你是如何使用
CSVREAD的?你用过CSVREAD('file.csv', null, 'charset=UTF-8')as documented吗? -
谢谢托马斯,它成功了。我只在函数帮助页面中搜索,而不是语法。
-
@dunadan 谢谢!我已经添加了答案。