Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Import naprawde duzej bazy csv, ...i zabawa z kodowaniem
kiler129
post
Post #1





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

Ostrzeżenie: (0%)
-----


Siedze od rana i mecze sie z importem csv do mysql. Jest to wycinek 8GB bazy (wycinek ma 200MB a mniejszy wycinek 8 rekordow).
Nie mam problemu z samym importem co z kodowaniem i jego predkoscia.
Przez 2h udalo sie poleceniu:

Kod
LOAD DATA LOCAL INFILE 'plik z baza' IGNORE INTO TABLE `tabela` FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n';


zaimportowac nieco ponad 1mln rekordow (~50MB).
Drugi problem ktory testuje z wycinkiem 8 rekordowym to kodowanie.
Plik pierwotnie w kodowaniu cp1250, po obrobce iconv z konsoli linux jest w utf8 co nadal nie pomaga (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)
Po imporcie za pomoca w/w komedy phpmyadmin nadal pokazuje krzaki. Kolumne w ktorej sa polskie znaki ustawialem juz roznie, na utf_unicode, utf_general i cp1250_general - bez efektow.
Ma ktos jakikolwiek pomysl na w miare szybki import ktory nie pokrzaczy pliku?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Axexis
post
Post #2





Grupa: Zarejestrowani
Postów: 98
Pomógł: 14
Dołączył: 13.01.2008
Skąd: Birmingham

Ostrzeżenie: (0%)
-----


Witaj,

Zakładam, że kodowanie Ci krzaczy na poziomie skryptu. Z mojej strony proponuję Ci, abyś przekonwertował bazę na utf8-generalci i następnie zaraz po nawiązaniu połączenia z bazą danych wstukał:
  1. <?php
  2. mysql_query("SET NAMES utf8");
  3. ?>


Oczywiście, wyjście (czyt: cała strona) musi być w utf8 aby poszło.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.09.2025 - 13:41