Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Problem z polskimi znakami na ubuntu serwer
Forum PHP.pl > Forum > Przedszkole
szufl4d
Witam, wiem, że podobne tematy już się pojawiały, jednak mój problem <<wydaje mi się>> bardziej skomplikowany dlatego pozwolę sobie go przedstawić w osobnym wątku.
Całość wygląda tak, że pobieram dużą ilość rekordów z pliku excel przy pomocy biblioteki PHPExcel.

  1. function generuj () {
  2.  
  3. require_once 'Excel/reader.php';
  4. $xls = new Spreadsheet_Excel_Reader();
  5. $xls->setOutputEncoding('cp1250');
  6. //$data->setOutputEncoding('UTF-8');
  7. $xls->read('reklamacje-3.xls');
  8.  
  9. for ($i = 2; $i <= $xls->sheets[0]['numRows']; $i++) {
  10. for ($j = 1; $j <= $xls->sheets[0]['numCols']; $j++) {
  11. if ($j == 4 || $j == 7) {
  12. $tymczas = $xls->sheets[0]['cells'][$i][$j];
  13. echo mb_detect_encoding($tymczas);
  14. $tablica = explode("/", $tymczas);
  15. $tablica_testowa[$j] = $tablica[2] . '-' . $tablica[1] . '-' . $tablica[0];
  16. } else {
  17. $tablica_testowa[$j] = strtr($xls->sheets[0]['cells'][$i][$j], "'", " " );
  18. }
  19. //$komorka[$i][$j] = $xls->sheets[0]['cells'][$i][$j];
  20. }
  21. echo '<pre>';
  22. // print_r($tablica_testowa);
  23. echo '<pre>';
  24. db_connect();
  25. $ins = @mysql_query("INSERT INTO testowa SET numer ='$tablica_testowa[1]' , nazwa='$tablica_testowa[2]', nazwaspr='$tablica_testowa[3]', datawpl ='$tablica_testowa[4]', status ='$tablica_testowa[5]', decyzja ='$tablica_testowa[6]', datadec ='$tablica_testowa[7]', kwota ='$tablica_testowa[8]', tresc ='$tablica_testowa[9]', przyczyna ='$tablica_testowa[10]'");
  26. }
  27.  
  28. // echo '<br />';
  29. /// echo '<pre>';
  30. //print_r($xls);
  31.  
  32. }


Całość działa świetnie po za polskimi znakami. Użyłem funkcji mb_detect_encoding do sprawdzenia kodowania. I ku mojemu zdziwieniu nie pojawia się cp1250 zadeklarowane wyżej tylko ACSII. Próbowałem użyć iconv do zmiany kodowania na np utf-8 ale nie działa. Po zapisie do bazy z wszystkimi chyba możliwymi metodami porównywania napisów brak polskich znaków.

Dodam, że serwer to środowisko serwer ubuntu z zainstalowaną bazą bez dodatkowych konfiguracji. Czy ktoś z was może mi pomóc w temacie? Będę wdzięczny za każdą wskazówkę, jeżeli potrzeba więcej informacji wszystko dokładnie mogę opisać.
com
cp1250 ? przecież to kodowanie dla windowsa.
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.