Re: v8.3 + UTF8 errors when restoring DB

Поиск
Список
Период
Сортировка
От Dean Gibson (DB Administrator)
Тема Re: v8.3 + UTF8 errors when restoring DB
Дата
Msg-id 47D3ECDF.5010303@ultimeth.com
обсуждение исходный текст
Ответ на v8.3 + UTF8 errors when restoring DB  ("Mitchell D. Russell" <mitchell.russell@gmail.com>)
Ответы Re: v8.3 + UTF8 errors when restoring DB
Список pgsql-general
On 2008-03-09 01:45, Mitchell D. Russell wrote:

New to the list, so please forgive me in advance :)


I've been running 8.2 on windows server 2003 for quite some time now. The database that I take care of stores records with various languages in it (russian, chinese, etc) and has been working fine.

I did a PG_dump of the database tonight, and went to restore it to my newly created database (WIN2152 encoding), which worked fine, but when I go to retrieve the data via my code (.NET c#), I get errors like :

character 0x8f of encoding "WIN1252" has no equivalent in "UTF8"
character 0x81 of encoding "WIN1252" has no equivalent in "UTF8"
character 0x9d of encoding "WIN1252" has no equivalent in "UTF8"

The database driver is set to unicode mode, so I turned that off, but of course end up with gibberish instead of the russian and chinese that were there before.

So then I tried creating a new database with unicode formatting and restoring my 8.2 dump file to that, when I do that, I get these errors (using PSQL):

ERROR: invalid byte sequence for encoding "UTF8": 0x92
HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding".

CONTEXT: COPY cin_tbl_data, line 6
ERROR: invalid byte sequence for encoding "UTF8": 0x99
HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding".

so I just don't know what to do. my 8.2 database used SET client_encoding = 'SQL_ASCII'; according to the dump file - so I can't wrap my head around why I can't get this data to come out.

Any help would be very much appreciated.


Well, you partially hosed yourself when you did the dump using a 'client_encoding' of 'SQL_ASCII'.  If the 8.2 database is still around, redo pg_dump using the '-E' parameter to set the client_encoding to UTF-8, then import the data into your 8.3 database created with a UTF-8 encoding.

If you don't have the 8.2 server around any more, it's a bit more complicated.  How did you do the pg_dump (what format)?

-- 
Mail to my list address MUST be sent via the mailing list.
All other mail to my list address will bounce.

В списке pgsql-general по дате отправления:

Предыдущее
От: Martijn van Oosterhout
Дата:
Сообщение: Re: v8.3 + UTF8 errors when restoring DB
Следующее
От: David Fetter
Дата:
Сообщение: Re: ER Diagram design tools (Linux)