Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] import z pliku .DBF do MySQL, problem z kodowaniem...
pa-jong
post
Post #1





Grupa: Zarejestrowani
Postów: 64
Pomógł: 1
Dołączył: 21.02.2008
Skąd: Warszawa

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


Witam,
Napotkałem na problem którego już nie ogarniam...

kilka suchych faktów..

Kodowanie Bazy - latin2_general_ci
Kodowanie tabel - latin2_general_ci
metoda porównywania napisów - latin2_general_ci

kodowanie pliku php - UTF-8 bez BOM ( za pomocą notepad++)
kodowanie pliku .DBF - cp852

meta charset ustawione na ISO-8859-2

poniżej skrypt, który importuje zawartość .DBF do mysql
kodowanie pliku DBF zmieniam w locie z cp852 na ISO-8859-2

  1. $records = @dbase_numrecords($dbf) or die("Error reading DBF's number of fields");
  2. for($x = 1; $x <= $records; $x++)
  3. {
  4. $record = dbase_get_record($dbf, $x);
  5. $strSql = "REPLACE INTO ".$table." VALUES (";
  6. $f = 0;
  7. foreach($record as $field)
  8. {
  9. if($f != 0) $strSql .= ", ";
  10. if(strcmp(str_repeat(' ', $fields[$f]['length']), $field) != 0)
  11. {
  12. if($fields[$f]['type'] == 'character') $strSql .= "'";
  13. $strSql .= $field;
  14. if($fields[$f]['type'] == 'character') $strSql .= "'";
  15. }
  16. else
  17. $strSql .= "NULL";
  18. if(++$f >= $fields_num) break;
  19. }
  20. $strSql .= ");";
  21. $strSql = iconv("CP852","ISO-8859-2",$strSql);
  22. mysql_query($strSql, $conn);
  23.  
  24. print($strSql);
  25.  
  26. }


Najdziwniejszym dla mnie jest to, że to działa z powodzeniem na serwerach linuxpl...
problem pojawił się przy próbie odpalenia tego skryptu na localhoście...

w obydwu przypadkach po zmianie (iconv) na ISO-8859-2
print wyrzuca polskie znaki poprawnie,
niestety do bazy na localhoście ( sprawdzając przez phpMyAdmina ) dostają się pytajniki i apostrofy.. (why?)

Próbowałem już chyba wszystkich znanych mi kombinacji i jak do tej pory poległem...
podrzuci mi ktoś jakiś pomysł gdzie szukać rozwiązania ?

Ten post edytował pa-jong 26.11.2013, 01:57:51
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: 17.09.2025 - 12:49