2013-05-14 2 views
0

В моем приложении, я:CSV Н2 - кодировка символов missmatch

  • пусть Hibernate создать H2 DB
  • заселить DB через заявление JDBC SQL с импорта CSV (INSERT INTO ... SELECT ... FROM CSVREAD(file.csv)). Файл находится в кодировке UTF-8.

В Linux специальные символы в БД правильны.

В Windows (кодировка по умолчанию cp1250) специальные символы неверны.

Когда я пытаюсь использовать кодировку CSV-файлов (cp1250, iso-8859-2), он работает в Windows, но не в Linux.

Есть ли способ сказать H2, он должен уважать кодировку UTF-8 в Windows?

+0

Вы используете Eclipse? По умолчанию проекты Java в Eclipse в Windows используют другую кодировку. Изменение его в UTF8 в настройках проекта может решить вашу проблему. –

+1

Как вы правильно использовали 'CSVREAD'? Вы использовали 'CSVREAD ('file.csv', null, 'charset = UTF-8')' [как задокументировано] (http://h2database.com/html/grammar.html#csv_options)? –

+0

Спасибо Томас, это сработало. Я искал только страницу справки о функциях, а не грамматику. – dunadan

ответ

Смежные вопросы