Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Kodowanie znaków
Forum PHP.pl > Forum > Przedszkole
nansss93
Witam wszystkich,

Wykonuje import danych z pliku xls i mam następujący problem.
Otóż w wynikach brakuje czasem polskich znaków:

Kod
[5] => Przewód prostokątny
[24] => Og�lne


Jak widać w jednej komórce jest bez problemu ó, a także ą
Natomiast w drugiej zamiast ó jest �. Nie bardzo wiem jak to enkodować czy cokolwiek innego zrobić, aby był polski znak ó.

Z góry dzięki za odpowiedź
emstawicki
A jak obecnie wygląda kod odpowiedzialny za import pliku xls to tablicy wyników?
Czy sprawdziłeś kodowanie pliku źródłowego i pliku wykonującego import i wyświetlający dane?
nansss93
Wywołanie wygląda tak:

  1. $xlsx = new \Helpers\PhpExcelReader();
  2. $xlsx->setUTFEncoder('iconv');
  3. $xlsx->setOutputEncoding('UTF-8');
  4. $xlsx->read('../public/'.$path);
  5. echo '<pre>';
  6. print_r($xlsx->sheets[0]['cells']);
  7. echo '</pre>';exit;

Z kodowaniem będzie problem bo printuje dane więc nie mam ustawionego dla pliku wyświetlającego w momencie exit
viking
A co za problem dodać header? Chociaż to raczej wygląda na błąd w pliku źródłowym bo raczej mało prawdopodobne że 2 komórki arkusza są generowane inaczej. Możesz rozpakować plik i zobaczyć jak to wygląda.
nansss93
Właśnie gdy otwieram plik xls przykładowo w LibreOffice Calc to jest ok - wyświetlają się znaki ó i w jednej komórce i drugiej.

Spróbuje z headerem

Ok, header pomaga, ale dla jednych znaków charset=charset=iso-8859-1 a dla drugich utf-8. Co mogę zrobić?
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.