Если вам нужно сохранить данные UTF8 в своей базе данных, вам нужна база данных, которая принимает UTF8. Вы можете проверить кодировку своей базы данных в pgAdmin. Просто щелкните правой кнопкой мыши базу данных и выберите «Свойства».
Но эта ошибка, кажется, говорит вам, что в исходном файле есть некоторые недопустимые данные UTF8. Это означает, что утилита copy
обнаружила или предположила, что вы загружаете ее в файл UTF8.
Если вы работаете под некоторым вариантом Unix, вы можете проверить кодировку (более или менее) с помощью утилиты file
.
$ file yourfilename
yourfilename: UTF-8 Unicode English text
(Я думаю, что это тоже будет работать на Mac в терминале.) Не уверен, как это сделать под Windows.
Если вы используете тот же утилита на файл, который пришел из системы Windows (то есть файл, который не в кодировке UTF8), то, вероятно, показать что-то вроде этого:
$ file yourfilename
yourfilename: ASCII text, with CRLF line terminators
Если вещи оставайтесь странными, вы можете попытаться преобразовать свои входные данные в известную кодировку, изменить кодировку своего клиента или и то, и другое. (Мы действительно ограничиваем свои знания о кодировках.)
Утилиту iconv
можно изменить для кодирования входных данных.
iconv -f original_charset -t utf-8 originalfile > newfile
Вы можете изменить Psql (клиент) кодирование, следуя инструкции на Character Set Support. На этой странице найдите фразу «Включить автоматическое преобразование набора символов».
изменить параметр кодировки на импорт. Я установил свой «Windows-1251», и он работал без жалобы. –