POSTGRES иностранные языки
У меня проблема с прямой вставкой иностранных символов, таких как "ó, č, ĕ, ř" символы в базу данных. Не работайте даже с моим PHP-интерфейсом, чтобы убедиться, что нет преобразования или другой кодировки. Так что я использую залогинился в psql напрямую и вот мои настройки:
server_encoding
-----------------
UTF8
(1 row)
а также
client_encoding
-----------------
UTF8
(1 row)
База данных:
Name | Owner | Encoding | Collate | Ctype |
my_db | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
Так что я думаю, что не должно быть никаких проблем.
Я создал это:
CREATE TABLE test (a text);
и теперь я хочу вставить текст
INSERT INTO TEST (a) ('ó');
И есть сообщение:
ERROR: invalid byte sequence for encoding "UTF8": 0xf327293b
Есть кто-нибудь, кто может мне помочь, пожалуйста? похоже, он игнорировал мою входную кодировку или я действительно не знаю.
РЕДАКТИРОВАТЬ :
моя конфигурация терминала
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
EDIT2:
my_db=# \encoding
UTF8
EDIT3: PSQL из файла
файл
file -bi test
text/plain; charset=utf-8
выполнять
ERROR: syntax error at or near "'Ăł'"
LINE 1: INSERT INTO tes (a) ('Ăł');
EDIT4:
set client_encoding='latin1';
это работает в psql, но мне нужно, чтобы он работал с utf8. Я знаю, возможно, я использовал эту настройку каждый раз с базами данных MySQL, и она работает как шарм.
Мой драйвер jdbc должен быть UTF8.
EDIT5:
Вот что я здесь делаю:нажми на меня
До того, как он был сохранен, я вижу его - так что php работает нормально - но после этого, когда я читаю его из БД, я не вижу его. Это потому, что я перешел ближе к БД в PSQL, чтобы увидеть, что происходит. Похоже, что проблема с сервером. Возможно ли сервер можетне справиться с этими персонажами?
EDIT6:
Конфигурация Tomcat
-Dfile.encoding=UTF8
Кодировка URI также установлена в UTF8. Где может быть эта проблема? :(