在我的应用程序中,我:
- 让 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 编码吗?
最佳答案
需要在options parameter of the CSVREAD
function中设置UTF-8 ,如下:
CSVREAD('file.csv', null, 'charset=UTF-8')
关于java - CSV 到 H2 - 字符编码不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16536773/