Jak ustawić kodowanie znaków na stronie OEM852, nic mi nie chce zadziałać.
Kodowanie musi być takie egzotyczne bo na stronie mają się wyświetlać dane wygenerowane bezpośrednio z pewnego nieszczęsnego programu do księgowości którego nazwy nie napiszę (OPTIMA).
Po prostu zasysam plik formularzem z inputem i jego zawartość ma się wyświetlić na stronie więc nie mam możliwości zmiany jego kodowania, musi pozostać OEM852.
Jak w notepadzie++ zmienię z UTF-8 na OEM852 to litery poprawnie się wyświetlają, jak to zrobić w przeglądarce?
Zamieszczam przykładowe wyrazy które się krzaczą na stronie.
WIESťAW - powinno być WIESŁAW
MIťA - powinno być MIŁA
Choceä - powinno być Choceń
Reasumując: mam tekst w OEM852 i jak go poprawnie wyświetlić na stronie html?
Salvation
11.07.2024, 15:23:24
Z tego co doczytałem, to
OEM852 to nic innego jak
CP852.
Jeżeli chodzi o PHP, to można skorzystać z
iconv() lub
mb_convert_encoding().
Tomplus
11.07.2024, 19:52:42
Jak coś pamiętaj aby na stronie była też ta linijka:
<meta http-equiv="Content-Type" content="text/html;charset=cp852">
lub tożsama ale o innej nazwie:
<meta http-equiv="Content-Type" content="text/html;charset=Latin-2">
niestety nie działają te meta tagi.
Ok trudno, chyba będą musiały zostać krzaki na stronie.
Salvation
15.07.2024, 09:01:35
Skoro zasysasz plik, to masz go w /temp/ na serwerze. Nie rozumiem, dlaczego nie możesz przekonwertować pliku "w locie" podczas serwowania użytkownikowi jego zawartości przez PHP?
Tomplus
16.07.2024, 20:06:17
@m72
Użyłeś też te funkcje które podał Salvation?
ja jeszcze sprawdziłbym czym są te dane wyjściowe z bazy funkcją:
mb_detect_encoding()