2013-05-14 58 views
0

在我的應用程序,我:CSV到H2 - 字符編碼missmatch

  • 讓Hibernate通過與CSV導入(INSERT INTO ... SELECT ... FROM CSVREAD(file.csv))JDBC SQL語句來創建H2 DB
  • 填入DB。文件採用UTF-8編碼。

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

在Windows(默認編碼cp1250)上,特殊字符不正確。

當我嘗試使用不同的CSV文件編碼(cp1250,iso-8859-2)時,它適用於Windows,但不適用於Linux。

有什麼辦法可以告訴H2它需要尊重Windows上的UTF-8編碼嗎?

+0

你使用Eclipse?默認情況下,Windows中Eclipse中的Java項目使用不同的編碼。在項目首選項中將其更改爲UTF8可能會解決您的問題。 – 2013-05-14 06:56:34

+1

你是怎麼準確使用'CSVREAD'的?您是否使用過'CSVREAD('file.csv',null,'charset = UTF-8')'[如文檔](http://h2database.com/html/grammar.html#csv_options)? – 2013-05-14 07:12:58

+0

謝謝托馬斯,它工作。我只在函數幫助頁面搜索,而不是語法。 – dunadan 2013-05-14 09:30:29

回答