Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Problem z polskimi znakami na ubuntu serwer
szufl4d
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 8.12.2015

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


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ć.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
com
post
Post #2





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


cp1250 ? przecież to kodowanie dla windowsa.
Go to the top of the page
+Quote Post

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: 23.08.2025 - 12:48