powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Проблема с загрузкой данных из CSV-файла с кириллическим названием
11 сообщений из 11, страница 1 из 1
Проблема с загрузкой данных из CSV-файла с кириллическим названием
    #40005780
Warlock86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При попытке выполнить следующую команду:
Код: plsql
1.
copy schema1.table1 from 'C:\dir1\Файл 123.csv' with (format csv,encoding 'UTF8');


вернуло ошибку:
Код: plsql
1.
2.
ОШИБКА:  не удалось открыть файл "C:\dir1\Файл 123.csv" для чтения: No such file or directory
ПОДСКАЗКА:  COPY FROM указывает серверному процессу PostgreSQL прочитать данные из файла. Возможно, на самом деле вам нужно клиентское средство, например, \copy в psql.


При этом файлы, в названии которых нет кириллицы, загружаются без проблем. Есть список из нескольких сотен файлов, у многих из которых наименование содержит кириллицу. На основе списка были сформированы команды copy для выполнения их в psql. Есть ли более простой, чем переименование всех файлов, содержащих кириллицу, способ заставить PostgreSQL обработать эти файлы?
...
Рейтинг: 0 / 0
Проблема с загрузкой данных из CSV-файла с кириллическим названием
    #40005850
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуйте убрать пробел в названии файла.
...
Рейтинг: 0 / 0
Проблема с загрузкой данных из CSV-файла с кириллическим названием
    #40005881
Warlock86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Guzya, не помогло. Ошибка прежняя. Более того, если в имени файла есть пробел, но нет кириллицы, он благополучно загружается.
...
Рейтинг: 0 / 0
Проблема с загрузкой данных из CSV-файла с кириллическим названием
    #40005890
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warlock86,

Сделайте copy to и посмотрите в какой кодировке будет имя файла

упд. проблема в разнице кодовых страниц БД и ОС, довольно https://www.postgresql.org/message-id/550FE0B8.70803@realfusio.com]старая
...
Рейтинг: 0 / 0
Проблема с загрузкой данных из CSV-файла с кириллическим названием
    #40005935
Warlock86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
env
Warlock86,

Сделайте copy to и посмотрите в какой кодировке будет имя файла

упд. проблема в разнице кодовых страниц БД и ОС, довольно https://www.postgresql.org/message-id/550FE0B8.70803@realfusio.com]старая

После выполнения этой команды:
Код: plsql
1.
copy schema1.table1 to 'C:\dir1\Файл 123.csv' delimiter ',' csv header encoding 'UTF8';


Данные выгрузились в файл под названием "Файл 123.csv".
По вашей ссылке не нашёл информации как решить эту проблему.
...
Рейтинг: 0 / 0
Проблема с загрузкой данных из CSV-файла с кириллическим названием
    #40005938
fte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warlock86,
а так ?
Код: sql
1.
copy schema1.table1 to E'C:\dir1\Файл 123.csv' delimiter ',' csv header encoding 'UTF8';
...
Рейтинг: 0 / 0
Проблема с загрузкой данных из CSV-файла с кириллическим названием
    #40005942
Warlock86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fte
Warlock86,
а так ?
Код: sql
1.
copy schema1.table1 to E'C:\dir1\Файл 123.csv' delimiter ',' csv header encoding 'UTF8';



ОШИБКА: при выполнении COPY в файл нельзя указывать относительный путь

UPD: Сделал вот так:
Код: sql
1.
copy schema1.table1 to E'C:\\dir1\\Файл 123.csv' delimiter ',' csv header encoding 'UTF8';


Выгрузило как и прежде в файл "Файл 123.csv".
...
Рейтинг: 0 / 0
Проблема с загрузкой данных из CSV-файла с кириллическим названием
    #40005948
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Warlock86,

"рырыры" говорит о том, что строчка была в UTF-8, a была прочитана как однобайтная кодировка Win1251.

Варианты:
- конвертнуть вашу мультибайтную строку UTF-8 в однобайтную кодировку командного скрипта (1251)
- или настроить исполнителя скрипта на понимание UTF-8 - для cmd.exe это делается через "chcp 65001". У винды в поддержке этой кодировке есть баги, на которые вы можете и не наступить.
- или копировать средствами (библиотечная функция?), где не приходится заботиться о совпадении кодировок.
...
Рейтинг: 0 / 0
Проблема с загрузкой данных из CSV-файла с кириллическим названием
    #40006098
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warlock86,

Собственно там про это и сказано. copy ожидает совпадения кодировки бд и ос. Это не лечится на текущий момент.

Ну а через psql вы и сами справились.

з.ы. можете конечно попробовать заранее сконвертировать имена файлов в "обратные кракозяблы", чтобы перекодировка в copy дала на выходе нужное имя, и попробовать с ними.
...
Рейтинг: 0 / 0
Проблема с загрузкой данных из CSV-файла с кириллическим названием
    #40006180
fte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warlock86,
Попробуте так
Код: sql
1.
copy schema1.table1 to convert_to('C:\dir1\Файл 123.csv','CP1251') with (delimiter ',' csv header encoding 'UTF8');
...
Рейтинг: 0 / 0
Проблема с загрузкой данных из CSV-файла с кириллическим названием
    #40017637
Warlock86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В итоге плюнул на всё и переименовал файлы на латиницу.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Проблема с загрузкой данных из CSV-файла с кириллическим названием
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]