Експорт з excel в mysql - stack overflow російською

Добрий час доби!

Як правильно виконати експорт з Excel в MySQL?

Варто dbForge Studio for MySQL. Все пробував через нього.

Пробував імпортувати як xls-файл - на сторінці вибору діапазону порожньо, натискаю "Далі" - вискочило повідомлення, що немає даних, або вони знаходяться за межами аркуша.

Через купу спроб вдалося через dbForge Studio for MySQL імпортувати XLS-файл, але японський все одно кракозябрами. При імпорті для таблиці і для рядків вказував UTF.

При цьому, щоб вдалося виконати імпорт, довелося прибрати майже всі рядки. Закономірності не зрозумів, але спочатку міг вставити тільки якщо в excel`e було 5 рядків, потім якщо 9, а потім - до 50 дійшов. Начебто все виконував однаково - відкрив вихідний файл, скопіював частину рядків (5, 10, 50), вставив в інший (вставляв з самого початку, заміщаючи вміст), зберігав і відправляв на імпорт. Кожен раз завантажувалося різну кількість рядків ( "завантажувалося" - це якщо під час імпорту не виникало помилок)

В даному випадку може бути і баг dbforge, але питання не в цьому, тому що наскільки зрозумів, мені все одно доведеться експортувати в CSV, а з цим теж проблеми.

Пробував зробити експорт з Excel в CSV, але MS Excel не визнає при експорті UTF, а він потрібен - є записи не тільки англійською або російською, а й іншими мовами.

Поставив Libre Office. Зробив експорт в CSV в ньому, вказав UTF - експортувалося. Спробував завантажити - всі мови нормально завантажилися, а японський - кракозябрами.

Якщо експорт даних з XLS в MySQL можна зробити не використовуючи CSV, то як?

Якщо робити через CSV, то дане питання можна кілька переформулювати:

Як (або точніше ніж) експортувати XLS в CSV так, щоб при імпорті в базу нормально відображалися різні мови? У мене, повторюся, виникла проблема тільки з японським. Російська, німецька, французька, хінді та ще деякі експортувалися в CSV і записалися в БД нормально.

На SO знаходив кілька схожих питань (про експорт з XLS в CSV в UTF), але одного цього мені виявилося мало - у мене відразу після експорту не відображався той самий японський.

Не знаю що було.

Вирішилося все наступним чином:

  • зробив експорт в csv за допомогою Libre Office (японський не відображається на відміну від інших мов)
  • залив цей файл на сервер, зробив імпорт безпосередньо в базу
  • при імпорті вказав кодування UTF-8 (файл чомусь був в кодуванні ANSI, хоча при експорті було ясно сказано - експортувати в UTF-8, причому - всі мови, крім японського, відображалися нормально)
  • перед отриманням даних з MySQL вказав, що хочу все отримувати в UTF-8
  • дані отримані, всі мови відображаються, навіть японський

відповідь даний 14 Березня '13 о 13:02

Схожі статті