Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Kodowanie tekstu
Forum PHP.pl > Forum > Przedszkole
rangoo
Witam,

Mam problem. Nie mogę wykryć kodowania tekstu w PHP. Przykładowy kawałek z polskimi znakami: http://www.speedyshare.com/EVfA9/bla.csv

Ten przykładowy plik zarówno w Excelu jak i w notatniku czy Notepad++ otwiera się bez problemu.

Moja próba:

Kod
Header('Content-Type: text/html; charset=utf-8');
$file = file_get_contents('bla.csv');
foreach(mb_list_encodings() as $charset) {
    if($charset !== 'auto') // w przeciwnym razie: 'mb_convert_encoding(): Unable to detect character encoding'
    echo mb_convert_encoding($file, 'UTF-8', $charset).' - '.$charset.'<br>';  
}


i niestety żaden wynik nie jest poprawny... W jaki sposób mogę wykryć (lub ewentualnie: jakie to jest, choć wolałbym wiedzieć jak wykryć) kodowanie i przekonwertować do UTF-8?

Pozdrawiam i z góry dzięki.
!*!
Zamień to przez iconv.
rangoo
iconv i utf8_encode próbowałem wcześniej, i niestety próby wyszły podobnie
!*!
Sprawdź ten plik przez mb_detect_encoding i na tej podstawie zmieniasz to w iconv.
rangoo
zwraca mi ASCII, więc nie mogę tego ustawić jako kodowanie źródłowe, ani w iconv, ani w mb_convert_encoding, w jaki sposób to przekonwertować? jedyna możliwość to zrobić własną funkcję z tablicą ASCII -> UTF8 i str_replace czy jest dedykowana temu funkcja?
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.