Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]LOAD DATA INFILE a kodowanie plików
Forum PHP.pl > Forum > Przedszkole
Arhimenrius
Witam. Więc mam skrypt do importu plików .csv:
  1. $stmt=$db->query($s="
  2. LOAD DATA LOCAL INFILE 'E:/zeszyt1.csv'
  3. INTO TABLE `users`
  4. CHARACTER SET 'utf8'
  5. FIELDS TERMINATED BY ';'
  6. ENCLOSED BY '\"'
  7. ESCAPED BY '\\\'
  8. LINES TERMINATED BY '\\r\\n'
  9. IGNORE 1 LINES");


Jednak problemme jest to, iż działa poprawnie tylko wtedy, gdy dany plik ma formatowanie UTF-8. Skasowanie CHARACTER SET 'utf8' nic nie daje. W jaki sposób mogę rozwiązać ten problem?
Sephirus
Proponuje ustawić

  1. CHARACTER SET 'XXX'


zamiast XXX autentyczne kodowanie pliku - MySQL nie może przecież się domyślać jakie jest kodowanie tongue.gif

Może pliki masz w ISO-8859-2 albo czymś takim - dla tego kodowania w MySQL trzeba dać Latin2. Jesli plik jest w innym to odpowiednie.
Arhimenrius
A nie da się zrobić w ten sposób (jakimś skryptem), by automatycznie sprawdzało jakie jest kodowanie, i je ustawiało?
Sephirus
W SQL nie, w PHP można spróbować zerknij tu
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.