Проблемы с кодированием с драйвером PostgreSQL JDBC и Java

У меня такой код:

stm = con.createStatement();
stm.executeUpdate("INSERT INTO city(id, name) VALUES (1, 'Chambéry');");

Когда я хочу увидеть строки в своей таблице, я получаю следующий результат:

 id |   name   |  
----+----------+
  1 | ChambΘry |

Как видите, название города в базе данных - Шамбери, а не Шамбери. То же самое происходит и с иностранными буквами, такими как ñ, который в базе данных заменяется на ±.

Я не знаю, почему это происходит, и серверная, и клиентская кодировка - UTF8, я даже изменил кодировку файла в Netbeans на UTF8 в netbeans.conf

Я был бы признателен за вашу помощь


person chris    schedule 01.01.2017    source источник
comment
Каким вы видите строки в своей таблице?   -  person Andreas    schedule 01.01.2017
comment
проверьте кодировку, используемую в вашей базе данных.   -  person davidxxx    schedule 01.01.2017
comment
Вы также установили кодировку проекта в UTF8?   -  person brummfondel    schedule 01.01.2017
comment
@Andreas, когда я использую оператор SELECT, я вижу строки с неправильным символом   -  person chris    schedule 01.01.2017
comment
Когда вы используете оператор SELECT в инструменте what? Также как вы видите строки в своей таблице? Или спросили по-другому: откуда вы знаете, что данные в базе неверны, а не то, как вы их отображаете?   -  person Andreas    schedule 01.01.2017
comment
@davidxxx, как я могу увидеть кодировку, используемую в db. Я использую see client_encoding для клиента и see server_encoding для сервера   -  person chris    schedule 01.01.2017
comment
Взгляните на это, вы установили кодировку для своего подключения?   -  person    schedule 01.01.2017
comment
@Andreas Я использую оболочку psql, чтобы увидеть строки   -  person chris    schedule 01.01.2017
comment
@SzymonD Демонстрация того, как это сделать для MySQL, не очень помогает в решении проблемы PostgreSQL.   -  person Andreas    schedule 01.01.2017
comment
@brummfondel Я также проверил свойства проекта в Netbeans, а кодировка - UTF8   -  person chris    schedule 01.01.2017
comment
@ c2J psql может отображать это неправильно. Попробуйте pgAdmin.   -  person Andreas    schedule 01.01.2017
comment
Вы успешно выполнили инструкцию insert в psql?   -  person brummfondel    schedule 01.01.2017
comment
@ c2j Вы также можете проверить это this. В строку подключения можно добавить параметр charSet.   -  person Stamatis Liatsos    schedule 01.01.2017
comment
Если возможно, попробуйте использовать pgadmin 3 (pgadmin.org/download) - не 4, 4 некрасиво . IT предоставляет вам подробную информацию о настройках базы данных, кодировках и многом другом с помощью простых меню.   -  person brummfondel    schedule 01.01.2017
comment
он правильно отображается в pgAdmin, и если я выполняю оператор SELECT из своего java-проекта, он также имеет правильные символы. Но почему я не могу видеть те же самые символы из оболочки psql, даже когда я устанавливаю client_encoding в UTF8 в оболочке? Я также хочу иметь возможность вставлять из оболочки и правильно отображать эти записи в pgAdmin   -  person chris    schedule 01.01.2017
comment
Было бы полезно, если бы вы упомянули, о какой оболочке вы говорите. (Подсказка: если это командная строка Windows, то она не очень хорошо обрабатывает символы Unicode.)   -  person Gord Thompson    schedule 02.01.2017
comment
Предположительно вы работаете в Windows и должны установить кодовую страницу Unicode. См. Руководство по psql.   -  person Craig Ringer    schedule 02.01.2017
comment
Я попытался выполнить действия, описанные в этом вопросе но все же я не могу заставить Windows cmd отображать правильные символы   -  person chris    schedule 02.01.2017