Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kodowanie, i polskie znaki
-ziutek-
post
Post #1





Goście







Witam.

Bardzo wiele problemów przy pracy stwarzają polskie ogonki. Oczywiście, niektórzy z nich rezygnują, ale niestety nie wszyscy. Chciałbym zebrać garść porad odnośnie tego problemu. Może ja zacznę, jeśli pisze głupoty - proszę o poprawę.

Zwykły html i polskie znaki, wystarczy dodać w sekcji <head> odpowiedni znacznik <meta>:

  1. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />

wówczas wszystkie nasze ąćęłńóśźż wyświetlane są poprawnie. Jeśli kod to czysty HTML, problemów raczej nikomu to nie sprawia.

Ale problemy pojawiają się, gdy zaczynamy dodawać do tego php. Bardzo często zdarza się, że wówczas (np. używając szablonów Smarty, czy też podczas wysyłania maili - zarówno w formacie HTML jak i textowym) polskie znaki zamieniają się w krzaczki. Co więc należy zrobić w przypadku np. Smarty, żeby te polskie znaki pojawiały się? Sam meta tag nie wystarcza, jeśli ktoś nie wierzy, mogę pokazać przykład. To samo tyczy się wysyłania maili funkcją mail().
Istnieje oczywiście np. iconv(), ale czy to jedyne wyjście?

A jeszcze więcej problemów pojawia się, kiedy przyjdzie nam korzystać z MySQL (sam niejednokrotnie robiąc backupa bazy poprzez phpmyadmina zamiast polskich znaków, dostałem krzaczki - a problem nie pojawia się tylko przy backupie).

Z przeczytanych postów gdzieniegdzie informacji wnioskuje, że aby polskie znaki chodziły wszędzie tak, jak należy, kodowanie zarówno HTML, jak i php i MySQL powinno być takie samo.

Jak zrobić? W niektórych momentach naprawdę już człowiek nie ma siły szukać, a być może ktoś już przez te problemy przebrnął i ma jakiś skuteczny na to sposób.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mariuszn3
post
Post #2





Grupa: Zarejestrowani
Postów: 352
Pomógł: 0
Dołączył: 22.01.2006

Ostrzeżenie: (0%)
-----


Najprawdopodobniej poczta.fm ma gdzieś kodowanie znaków i nie sprawdza kodowania w jakim wiadomość została wysłana.. po prostu binarnie przerzuca treść na ekran a że sama pracuje w kodowaniu ISO-8859-2 to mail wysłany w utf-8 pokazuje krzaczki. Rozumiem, że chodzi o to jak to wygląda na stronie poczta.fm, myślę, że jeśli odbiorca będzie odbierał wiadomość przez jakiegoś klienta poczty na komputerze, który już będzie respektował informacje o kodowaniu to nie będzie tego problemu.
Gmail nawet nie musi sprawdzać kodowania by dobrze pokazać tę wiadomość, bo sam pracuje w utf-8.
Gdzieś czytałem, że właśnie w przypadku maili lepiej pozostać przy iso, bo jeszcze w użyciu jest wiele klientów, które ignorują informacje o kodowaniu i wszystko przyjmują jako iso i to jest dobry przykład do tej tezy.

Ten post edytował mariuszn3 20.07.2006, 23:14:58
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 20:04