Jeżeli na jednej ze stron - na których umieściliśmy wstawkę - jest inne kodowanie niż w bazie skryptu WMlink, wtedy polskie znaki w opisach linków mogą być wyświetlane niepoprawnie.
W takim wypadku należy do wstawki po linii z mysql_select_db dodać linię:
mysql_query("SET CHARACTER SET nasza_strona_kodowa");
Przykładowo np. baza jest w latin2 a jedna ze stron jest w UTF-8, aby kodowanie było poprawne dodaje do wstawki po mysql_select_db poniższą linię:
mysql_query("SET CHARACTER SET utf8");
A czy jest możliwość w wstawce pośrednia (odczyt linków z 1 pliku PHP) zapanować nad kodowaniem znaków?
Tak, można dodać powyższe linie do pliku do którego odwołuje się wstawka pośrednia (czyli ta z readfile).
Przy obsłudze stron w różnym kodowaniu można stworzyć identyczny plik do którego odwołuje się wstawka z innym wpisem "SET CHARACTER SET" i w zależności od kodowania odwoływac się do odpowiedniego pliku...
Długo mnie tu nie było.
Niestety nie oznacza to, że wiem jak to zrobić. Może jest możliwość trochę łopatologicznie wytłumaczenia. Otrzymuję:
np:
// START WSTAWKI PROGRAMU WMlink
readfile("http://www.mojastrona/linki.php?id=12");
// KONIEC WSTAWKI PROGRAMU WMlink
wstawiam to na stronę np www.tezmojastroana.pl (kodowanie UTF) do pliku costam.php i widzę krzaki.
Co dalej?
Sprawa jest prosta. Tworzysz nowy plik np. linki_utf.php z zawartością taką samą jak linki.php tylko dodajesz przed pierwszym zapytaniem z mysql_query poniższą linię:
mysql_query("SET CHARACTER SET utf8");
Twoja wstawka wygląda wtedy tak
// START WSTAWKI PROGRAMU WMlink
readfile("http://www.mojastrona/linki_utf.php?id=12");
// KONIEC WSTAWKI PROGRAMU WMlink
Dzięki. Rzeczywiście proste i oczywiście działa :)
Cytat: WMsoft w 14 Grudzień, 2008, 19:06:33
Sprawa jest prosta. Tworzysz nowy plik np. linki_utf.php z zawartością taką samą jak linki.php tylko dodajesz przed pierwszym zapytaniem z mysql_query poniższą linię:
mysql_query("SET CHARACTER SET utf8");
Twoja wstawka wygląda wtedy tak
// START WSTAWKI PROGRAMU WMlink
readfile("http://www.mojastrona/linki_utf.php?id=12");
// KONIEC WSTAWKI PROGRAMU WMlink
Wstawiłem fragment w pliku linki.php w tym miejscu
if(wmlink_sql())
{
mysql_query("SET CHARACTER SET UTF-8");
$wmlink_zapytanie=@mysql_query
Kodowanie strony <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Nie bardzo mam pomysł co z tym zrobić :/ Może ktoś wie co mogłem zrobić nie tak?
Wstawiłeś w dobrym miejscu tylko masz błąd w zapytaniu.
Powinno być: mysql_query("SET CHARACTER SET utf8");
a nie: mysql_query("SET CHARACTER SET UTF-8");
Tak też próbowałem... i wtedy zamiast linijki z polskimi znakami w tytule i opisie liku wyświetla się ê󱶳¿¼æñ | :/ Ma ktoś jakiś pomysł co z tym zrobić?
W każdym razie zastosowanie takiego zapytania "SET CHARACTER SET UTF-8" spowoduje że MySQL wygeneruje błąd "1115 - Unknown character set: 'UTF'". Tak więc, tak na pewno nie może być! Może masz coś pomieszane z kodowaniem w bazie, standardowo baza (i tabele) powinna być w latin2.