Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Baza UTF8, strona iso-8859-2
Forum PHP.pl > Forum > Bazy danych > MySQL
marcinpruciak
W bazie mam dane w utf8_general_ci a stronę koduję w iso. Jest jakiś sposób żeby wyświetlić polskie znaki? Próbowałem ustawić set_names na utf8 i funkcję iconv nic nie dało rezultatu. 

W phpmyadmin wygląda to tak:
Kod
lolłół
nexis
Cytat(marcinpruciak @ 4.10.2009, 18:10:14 ) *
Próbowałem ustawić set_names na utf8

Skoro bazę masz w UTF-8, a na stronie chcesz to wyświetlić jako ISO-8859-2, to musisz ustawić:
  1. SET NAMES latin2
marcinpruciak
Nic z tego.
Rezultat widać tu http://www.pakodeos.com/index.php?pid=polecamy
vokiel
A nie szybciej i lepiej będzie zrobić stronę w utf-8 ?
marcinpruciak
Wtedy mi się rozlecą wszystkie podstrony, ale spróbuje.

Najprostrze rozwiązania są najlepsze, chociaż i tak nie liczyłem ze to pomoże.
nexis
Możesz pokazać kod, który odpowiada za pobranie tych danych (wraz z połączeniem z bazą danych)?
wlodek
Ja też mam baze w UTF-8 a strone na windows-1250 i żadnych problemów z wyświetlaniem polskich znaków.

przed każdym wykonaniem zapytania stosuje:

  1. mysql_query('SET NAMES cp1250');


tak jak napisali wyżej, dzialać musi.

Natomiast u Ciebie jest błąd na stronie:

  1. <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
  2. <meta http-equiv="Content-Type"content="text/html; charset=utf-8">


warto by się zdecydować jakiej strony kodowej chcesz używać. Jak by nie bylo ja tu nie widzę LATIN 2!
kopicz
Miałem ten sam problem i rozwiązał się po ustawieniu w bazie kodowania: latin-2
  1. mysql_set_charset('latin2', $db_handler)
kleszczoscisk
  1. Plik index.php zakoduj w ISO-8859-2. Z dobrych edytorów kED2 ma takie możliwości.
  2. W kodzie HTML pliku index.php wstaw w seksji <head>:
    1. <meta http-equiv="Content-Language" content="pl" /><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  3. Przy pobieraniu danych z bazy, tak jak wcześniej napisano:
    1. SET NAMES latin2
Te trzy rzeczy razem powinny pomóc.
mad/
Mam dwie uwagi, po pierwsze proponuję pozbyć się niezgodnego cp-1250, po drugie, jeśli już bawimy się w XHTML róbmy to porawnie:
'<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=&quot;iso-8859-2&quot;"/>
<meta http-equiv="Content-Language" content="pl"/>'
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.