Отправляет email-рассылки с помощью сервиса Sendsay

PostgreSQL 7.4 and UNICODE

Доброго всем времени суток!
Кто-нибудь знает как подружить PostgreSQL 7.4 с Юникодом?
Делаю createdb -E UNICODE dbname, база создается. При добавлении в нее
текстовой информации все проходит нормально, но при чтении кракозяблы.
При создании представления (view) ругается на русские имена полей

CREATE VIEW test ("имя","возраст") AS SELECT name,age FROM test;
ERROR: invalid byte sequence for encoding "UNICODE": 0xd122

Может кто знает как это лечится?

Ответить   Pavel aka crazy Thu, 19 Feb 2004 19:44:33 +0300 (#84475)

 

Ответы:

20 февраля 2004 г. 11:43:45 от Вас (263003-comp.soft.linux.discuss-list@subscribe.ru)
получено сообщение:

Правильно ругается. MySQL не поддерживает по умолчанию UNICOD в названии полей.
Что и правильно.

Вот в кратце формат создания.

CREATE VIEW [Имя представления] AS
SELECT [поле1],[поле2] FROM [имя таблицы или другого представления] [WHERE (условия)]
[ORDER BY (порядок сортировки)]

Если хочешь во VIEW всетаки сделать русские поля пиши так [field1] AS ПОЛЕ1

Хотя в твоем случает вообще непонятен смысл
VIEW создается на базе таблицы или другого запроса, но не как на базе самого
себя.

По поводу кодировки. Чем заносишь данные и чем их потом извлекаешь?

С Уважением,
Веретенников Сергей
veretennik***@a*****.ru


-*Название листа "Linux: разрешение вопросов, перспективы и общение"; Участников: 1010
Написать в лист: comp.soft.linux.discuss-list@subscribe.ru
Архив Листа - http://subscribe.ru/archive/comp.soft.linux.discuss Поиск: http://www.google.com
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 4190; Возраст листа: 210
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/85045



-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Отписаться: mailto:comp.soft.linux.discuss--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Веретенников Сергей Fri, 20 Feb 2004 11:52:21 +0300 (#85045)

 

On Fri, Feb 20, 2004 at 11:52:21AM +0300, Веретенников Сергей wrote:

Дык я спрашиваю про postgresql.

Я его знаю.

Все работает в KOI8-R и не хочет работать в UNICODE.

Смысл в том, что в базе у всех полей названия английские, а в
представлении русские. В общем так нужно.

Данные заносятся из программы на Си, извлекаются таким же образом.
Пробовал через psql, он тоже пишет мусор. :-(

Ответить   Pavel aka crazy Fri, 20 Feb 2004 19:40:39 +0300 (#85729)

 

Pavel aka crazy wrote:

http://www3.ru.postgresql.org/docs/7.4/interactive/multibyte.html

В postgresql поддерживаются разный кодировки
"хранимого в самой базе текста"
с возможностью настройки автолматической перекодировки
для разных клиентов....

К вашему примеру
(описание "структуры базы данных", полей и т.п.)
это не имеет отношения...

Так ведь это же не Access ;-)

Ответить   Mon, 23 Feb 2004 16:12:25 +0300 (#87243)

 

On Mon, Feb 23, 2004 at 04:12:25PM +0300, Alexander Kovtushenko wrote:

Спасибо, разобрался. Надо было SET client_encoding TO koi8r;

Имеет, поскольку встречая символы кириллицы, postgresql хотел, чтобы они
были в кодировке UNICODE, а не в KOI8-R.

Дык я знаю.

Ответить   Pavel aka crazy Tue, 24 Feb 2004 19:35:54 +0300 (#88239)

 

Pavel aka crazy wrote:

Я так понимаю - речь идет о символах кирилицы в текстовых константах ?
(т.е. значениях символьных полей, созданной вами,
т.е. не системной таблицы ?)
Если что то иное удасться использвать -
покажите SQL - удивлюсь .... =-O

Ответить   Tue, 24 Feb 2004 21:17:25 +0300 (#88263)

 

On Tue, Feb 24, 2004 at 09:17:25PM +0300, Alexander Kovtushenko wrote:

Речь идет о символах кириллицы в названии полей при создании
представления, т.е.
CREATE VIEW vwaybills ("Номер","Дата","Покупатель") AS
SELECT W.number, W.date, C.name
FROM waybills W, contractors C
WHERE W.contractor_id = C.contractor_id
ORDER BY W.number;
postgresql ругался на символы кириллицы в полях
"Номер","Дата","Покупатель"

не понял

Ответить   Pavel aka crazy Wed, 25 Feb 2004 01:25:35 +0300 (#89203)