Rolllo
30.04.2015, 23:08:47
Witajcie,
Mój problem wygląda następująco: nie mam polskich znaków przy wyczytywaniu z bazy i są one zastąpione ?. Ale zanim powiedziecie, że temat ten był już poruszany tysiące razy, zaznaczam od razu:
- znaki w bazie działają!
- znaki na stronie (o ile nie są wyczytywane z bazy) działają!
- format plików w Notepadzie++ to utf-8 bez BOM
- utf-8 w bazie
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" > - jest
- php_value default_charset "UTF-8" w .htaccess jest
- $sql = mysql_query("SET NAMES 'utf8'"); - nic nie zmienia
Naprawdę nie wiem, czym jest to spowodowane i co jeszcze można zrobić.
Spróbuj zamienić
Na:
mysql_set_charset('utf8', $mysql);
// według dokumentacji SET NAMES dla mysql_* nie jest zalecane.
+ poczytaj o
PDO oraz
MySQLi
Rolllo
1.05.2015, 01:08:56
Po zmianie problem dalej występuje.
viking
1.05.2015, 07:31:13
Znaczy były źle zaimportowane i pewnie jest jakiś latin1.
Rolllo
1.05.2015, 10:54:10
W jakim sensie źle zaimportowane? Zarówno baza, jak i strona są stworzone od podstaw.
Oraz: istnieje w takim razie jakiś sposób, aby to naprawić?
viking
4.05.2015, 10:50:56
Wyeksportuj jakieś przykładowe dane przez PHPmyadmin albo inne narzędzie, otwórz w edytorze jako UTF8 i zobacz czy faktycznie masz poprawne znaki. Sprawdź jeszcze nagłowki wysyłane przez serwer (firebug, sieć), upewnij się że jest na pewno set names przed pobraniem danych.
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.