[PHP] Konwersja polskich znaków

Pobierając treści z różnych źródeł w php, prędzej, czy później trafiamy na problemy z kodowaniem. Dla mnie osobiście to prawdziwa zmora, gdyż często mam do czynienia z rozproszonymi bazami różnego typu w najrozmaitszych kodowaniach. Sposobów na radzenie sobie z problemami tej natury jest wiele, jednak czasem przydatne są najprostsze funkcje konwertujące dany znak na konkretny inny… Przykład poniżej:

Powyższa funkcja działa jakby w dwie strony, można podmienić określone znaki z klucza na wartość, lub z wartości na klucz. Po co tak? Otóż np jeśli w danej funkcji zapisujemy link, którego chcemy użyć do polecenia curl, to posłużymy się jedną opcją, natomiast jeśli potem ten link chcemy wykorzystać do zakodowania poprawnej nazwy pliku, to posłużymy się drugą opcją i tym samym nie musimy płodzić 2 funkcji prawie identycznych.

Powyższy kodzik dotyczy kodowania Unicode w transformacji UTF-8, ale bez problemu może dotyczyć każdego innego, lub po prostu zwykłych ciągów znaków, które chcemy sobie podmienić.

Inny przykład zmiany kodowania z cp852 na ansi polskich znaków wykorzystujący w zasadzie tę samą funkcję str_replace poniżej:

Ot tyle.