Forum Webscript.Ru

Общие => Базы данных => Тема начата: Elenka от 07 Июня 2005, 00:55:33

Название: многоязыковая поддержка в Postgre
Отправлено: Elenka от 07 Июня 2005, 00:55:33
пример: парсим русский сайт, добавляем в БД результат, ошибка:

ц╔ц╚ц╔цґцґц╝ц╛ цєц╗ц═ц╞ц═цїц╝цґц╔ цЇц═ц╠ц╡ц╝ц╡
DBD::Pg::st execute failed: ERROR:  invalid byte sequence for encoding "UNICODE": 0xec20e4
ц╡ц╟ц═цґц╠цЄц╝ц╟ц╛ц═ц╡ц╝ц╟цґц╝ц╔ ціц╔ц╚ц╔цїц╝ ц╒ц╝ц╝ц║ц╧ц╔ цґц╔ ц╞ц╝цєц╒ц╔ц╟ціц╔цґц╝ ц╗ц./h.pl
DBD::Pg::st execute failed: ERROR:  invalid byte sequence for encoding "UNICODE": 0xec20e4

что нужно для многоязыковой поддержки ? сохраняю  в юникоде
Название: многоязыковая поддержка в Postgre
Отправлено: commander от 07 Июня 2005, 12:35:41
Elenka
Цитировать
сохраняю в юникоде

каким образом?
Название: многоязыковая поддержка в Postgre
Отправлено: Elenka от 08 Июня 2005, 14:48:36
а каким нужно ?
спасибо
Название: многоязыковая поддержка в Postgre
Отправлено: commander от 08 Июня 2005, 14:49:59
Цитировать
а каким нужно ?

ты лучше код покажи...
Название: многоязыковая поддержка в Postgre
Отправлено: Elenka от 09 Июня 2005, 09:31:26
последовательность простая, парсим сайт, квотим нужный текст и добавляем в БД, что нужно добавить к этому ? спасиб ;)

$text=get(\'http://www.russiansite.ru\');

quote($text)

insert into table (text)
Название: многоязыковая поддержка в Postgre
Отправлено: commander от 09 Июня 2005, 09:53:35
Elenka
перед insert: SET CLIENT_ENCODING TO \'WIN\'
Название: многоязыковая поддержка в Postgre
Отправлено: Elenka от 09 Июня 2005, 22:08:01
гм, а если текущий язык мне неизвестен ?

1. отпарсили инглиш - сохранили
2. отпарсили русский - сохранили
3. отпарсили французский - сохранили
...
.


есть подобные решения ?
Название: многоязыковая поддержка в Postgre
Отправлено: Elenka от 10 Июня 2005, 00:56:31
при добавлении французского вылетает вот что:

DBD::Pg::st execute failed: ERROR:  invalid byte sequence for encoding "UNICODE": 0xe96361
Название: многоязыковая поддержка в Postgre
Отправлено: commander от 10 Июня 2005, 15:10:33
http://www.postgresql.org/docs/8.0/interactive/multibyte.html#MULTIBYTE-TRANSLATION-TABLE
Название: многоязыковая поддержка в Postgre
Отправлено: Elenka от 10 Июня 2005, 19:22:03
для этого надо заранее знать кодировку текущего декста, к примеру мне надо сохранить японский, для этого заранее надо определить, что символы именно EUC_JP и потом уже поставить

SET CLIENT_ENCODING TO \'EUC_JP\';

только непонятно как это сделать... :(