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
Snoopy
post
Post #2





Grupa: Zarejestrowani
Postów: 92
Pomógł: 0
Dołączył: 5.02.2006

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


hmm trochę mnie to przerasta

1. Pliki .php i .html mam kodowane w iso-8859-2
2. Przy wchodzeniu w phpMyAdmin pisze:
System kodowania znaków dla MySQL: UTF-8 Unicode (utf8)
oraz
System porównań dla połączenia MySQL: utf8_unicode_ci
3. Natomiast pola w tabelach mam:
Metoda porównywania napisów: utf8_polish_ci

I teraz juz nic nie rozumiem... phpMyAdmina sam instalowałem więc mogłem coś popieprzyć, już czuję przez monitor te podśmiechujki. No ale tak juz jest (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Co powinienem zmienić żeby było tak jak być powinno. Przekodowywanie plików trochę zajmie, bazę mam dosyć małą więc jak by wyskoczyły tam jakieś syfy to nie było by to takim problemem.
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: 13.10.2025 - 13:35