java - CSV 到 H2 - 字符编码不匹配

标签 java linux windows csv h2

在我的应用程序中,我:

  • 让 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/

相关文章:

windows - 程序窗口自动截图

java - 错误用户输入Java的异常处理

java - MS SQL 上的 HikariCP 语句缓存(Microsoft JDBC 驱动程序 4.1)

linux - Awk 问题,一次在多个文件中重复行。

linux - 合并排序 gzip 文件

用于创建文件和日期的 csv 列表的 Windows 批处理文件

c++ - 检测 windows jpeg 图标

java - Struts2 jquery 选项卡式面板超时不触发事件

java - 我在 JSP 中的 SQL 查询在服务器环境中不起作用

linux - 为什么我可以删除自己目录下的写保护文件(硬链接(hard link))?