20

Я работаю над проектом, который использует файл CSV, предоставленный клиентом, для заполнения базы данных. Клиент должен создать электронную таблицу, а затем сохранить ее как CSV для загрузки, которая затем анализируется в базе данных.

Проблема в том, что когда клиент сохраняет электронную таблицу Excel в виде файла MS-DOS .csv, многие специальные символы преобразуются в знаки вопроса "?"(такие символы, как '" /). Однако, если мы затем откроем файл CSV и вручную заменим каждый? с правильным характером все работает нормально.

Проблема в том, что файл данных ОГРОМНЫЙ, и мы не можем разумно сделать это, поэтому я надеялся, что был способ сохранить его. Мы пытались экспортировать как Unicode и ASCII безрезультатно. Мы также пытались загружать документы в Google и повторное сохранение, однако эти символы также разбиваются.

12 ответов12

6

Убедитесь, что вы решили сохранить как CSV (Comma Delimited) а не как CSV (MS-DOS) , так как DOS не поддерживает символы UTF-8.

4

Возможный обходной путь - сохранить его как текст в Unicode Text (он есть в версии 2007, но не уверен в предыдущих выпусках), который сохраняет его в виде текстового файла с разделителями табуляции.

Этот файл сохранил мои символы Юникода (в моем случае я работал с азиатскими символами), создавая некоторый текстовый файл с разделителями, который затем можно запустить через внешние инструменты для преобразования в CSV, если это необходимо.

Однако мой ввод не содержал вкладок в каждой ячейке, и я не уверен, как это будет обрабатываться.

4

Я обнаружил, что проблема потерянных символов возникает (в моем случае) только при сохранении из формата xlsx в формат csv. Я попытался сохранить файл xlsx сначала в xls, затем в csv. Это действительно сработало.

2

У меня была эта проблема некоторое время, и, наконец, я посвятил некоторое время, чтобы разобраться в этом! Я смог (казалось бы) исправить проблему, сохранив как «Windows Comma Separated (.csv)». Я попробовал это из .xlsx и .xls, оба преобразованных в .csv просто отлично. Надеюсь, это поможет - дайте мне знать, если какие-либо проблемы всплывают с этим методом. Я сообщу, если увижу что-нибудь в течение следующих нескольких недель.

2

Вот что работает для меня:

  1. Внесите исправления данных в Excel или CSV
  2. Сохранить файл как текст Unicode
  3. Открыть NOTEPAD
  4. Откройте файл Unicode, который вы только что сохранили с помощью NOTEPAD
  5. Используйте свой курсор, чтобы выделить пустую область, которая содержит одну вкладку 5a. Используйте пробел между Acquire Id и типом запроса, потому что в нем содержится ОДНА вкладка!
  6. Нажмите Cnrl-C, чтобы скопировать символ табуляции
  7. Введите Cnlr-H, чтобы открыть функциональное окно Заменить
  8. Щелкните в текстовом поле «Найти» и введите Cnlr-V, чтобы вставить вкладку.
  9. Нажмите в поле «Заменить на текст» и введите запятую
  10. Нажмите Заменить, чтобы проверить его один раз. Убедитесь, что вкладка в файле заменена запятой
  11. Нажмите Заменить все
  12. Нажмите Отмена
  13. Сохраните файл и выйдите
  14. В проводнике Windows измените расширение файла на .csv
1

Решение:

  1. Откройте файл CSV в блокноте (вы заметите, что он говорит ANSI), затем повторно сохраните его как UTF-8 в блокноте.

  2. Тогда импорт должен работать. Однако, если вы снова откроете его в Excel и просто сохраните, это не сработает, потому что Excel не может явно кодировать в UTF-8.

  3. Другой вариант - работать с вашим CSV-файлом на www.LibreOffice.org (бесплатно), который может правильно кодировать в UTF-8 (хотя я сам не пробовал).

Я столкнулся с подобной проблемой при импорте в WooCommerce csv продуктов с дробями, который был отклонен из-за "?"ошибка символов. Это потому, что файл CSV не был закодирован в UTF-8. ОДНАКО, даже после сохранения файла CSV в Excel с кодировкой UTF-8 он все равно не работал.

После просмотра нескольких форумов кажется, что, хотя Excel дает возможность кодировать как UTF-8 - при сохранении в формате CSV, Excel автоматически преобразует его обратно в ANSI, даже если вы выбрали UTF-8.

0

для ™ я нашел решение. В файле .xlsx замените все символы «™» на «& tr-ade;». удалить - заменить от. Сохраните файл как .csv и все готово. Жаль, что это работает для вас.

0

Даже я столкнулся с проблемой специальных символов при загрузке японских терминов в формате .csv.Однако, когда я сохранил файл .csv в текстовом формате (с разделителями табуляции), японские символы были заполнены идеально. Затем я просто скопировал данные из текстового файла и вставил в электронную таблицу. Работал хорошо !!!

Спасибо ваишах

0

На компьютере Mac это то, что работало для меня.

В Excel выберите « Сохранить как», а затем в раскрывающемся списке выберите окна, разделенные запятыми (CSV).

Это просто работает !!!

0

Сохранить как юникод Переименовать файл юникода в .csv (https://www.youtube.com/watch?v=1VP8__shxTg)

0

Нашли лучшее решение из всех: http://woshka.com/blog/microsoft/microsoft-excel/solve-the-problem-saving-excel-csv-format-with-utf-8-unicode-encoding.html

Из ссылки:

1-клик по стартовому меню

2-Выберите панель управления

3-Найти региональные и языковые параметры в классическом режиме или введите его имя в строке поиска в правом верхнем углу окна панели управления.

4-Нажмите на вкладку «Дополнительно» и выберите локали

5-Click на персидском или арабском языке или желаемую программу кодирования UTF-08, которую вы хотите сохранить с Excel в CSV

0
  1. Загрузите и установите Unicode CSV Addin для Excel.
  2. Сохраните CSV-файл из нового меню "Unicode CSV", как показано на рисунке ниже.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .