Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [html][mysql] Kodowanie znaków
Forum PHP.pl > Forum > Przedszkole
nexis
Witajcie,

przeniosłem serwis na nowy serwer.

  1. <meta http-equiv="Content-Language" content="pl" />
  2. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />


Wersja silnika PHP została taka sama, a kod był dobrze napisany, więc wszystko działa tak jak wcześniej. Problem pojawił się jednak z kodowaniem znaków. Poprzednia baza danych MySQL była w wersji 4.0.21 i miała "System kodowania znaków dla MySQL: ISO 8859-2 Central European (latin2)". Obecna baza jest w wersji 4.1.20 i ma "System kodowania znaków dla MySQL: UTF-8 Unicode (utf8)".

W tabelach ustawiłem metodę porównywania napisów odpowiednio na "latin2_general_ci", ale na stronie wszystkie polskie znaki zastępuje znak zapytania "?".

Znacie może sposób na rozwiązanie tego problemu?
JaRoPHP
Po połączeniu z bazą, ustaw kodowanie:
Connection Character Sets and Collations

Jak nie pomoże, to poszukaj na forum - temat był wielokrotnie poruszany.
nexis
Cytat(nexis @ 17.05.2007, 12:22:28 ) *
W tabelach ustawiłem metodę porównywania napisów odpowiednio na "latin2_general_ci"


Napisałem przecież, że charset ustawiłem.
JaRoPHP
Napisałeś, że ustawiłeś zestaw znaków i porządek sortowania dla tabel - i to się chwali, wypadałoby jeszcze ustawić zestaw znaków i sortowanie dla połączenia: Connection Character Sets and Collations.

  1. <?php
  2. mysql_connect('host', 'user', 'db');
  3. mysql_query ('SET NAMES latin2'); // lub SET CHARACTER SET 'latin2'
  4. ?>
nexis
Pomogło! Wielkie dzięki!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.