|
W jaki sposób skonwertować polskie znaki win-1250 na encje UNICODE ? |
oto najprostsza funkcja do konwersji znaków z win-1250 do formatu UNICODE (zamiana na znaki UNICODE w postaci encji)
zobacz podobny artykuł:
http://www.elider.pl/77_jak_zmienic_kodowanie_tekstu_np_z_win_na_utf_lub_z_iso_na_utf.html
Wielu programistów tworzy własne funkcje tłumaczące znaki, posługując się stringami lub tablicami znaków
opis funkcji strtr na stronie:
http://www.elider.pl/206_jak_dziala_funkcja_strtr_w_php.html
lub na stronie podrecznika PHP:
http://pl.php.net/strtr
to samo mozna zrobić z funkcją str_replace ale trochę w bardziej skomplikowany sposób - tu mamy 2 tablice podmian wejsciową i wyjściową
Istnieją też inne rozwiązania w PHP do konwersji różnych znaków. Jest np. mało znana instrukcja iconv , która pozwala na dokonanie dowolnej konwersji znaków w bardzo prostej formie (1 linia kodu). Starsze wersje PHP mogą nie obsługiwać tej instrukcji. Wskazówki jak zainstalować odpowiednią bibliotekę mozna znaleźć na tej stronie:
http://pl.php.net/iconv
A oto jak używa się tej instrukcji:
Konwertuje łańcuch znaków łańcuch , zakodowany w zestaw_wejściowy na łańcuch znaków zakodowany w zestaw_docelowy . Zwraca skonwertowany łańcuch lub FALSE, jeśli konwersja się nie uda.
... Oto pewien przykład zastosowania. Oto skrypt pozwala na usunięcie ogonków z polskich liter. Zamienia ą na a, ć na c itd. Oto ten skrypt:
Funkcja iconv nie tłumaczy prawidłowo wszystkich znaków dlatego wielu programistów tworzy własne funkcje tłumaczące znaki,
posługując się różnymi tabelami znaków:
http://en.wikipedia.org/wiki/Windows-1250
http://pl.wikipedia.org/wiki/Windows-1250
http://www.microsoft.com/globaldev/reference/sbcs/1250.mspx
http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1250.TXT
Spróbuj przeczytać artykuł nt. tej funkcji
http://pl2.php.net/manual/pl/function.iconv.php
http://pl2.php.net/manual/pl/book.iconv.php
Pamietaj - aby wszystkie te funkcje działały prawidłowo trzeba też ustawić lokalnie PHP - tzw. parametr set_locale:
http://www.elider.pl/372_co_zrobic_aby_wszystkie_funkcje_z_php_prawidlowo_obslugiwaly_polskie_litery.html