Menu główne
Serwis wykorzystuje pliki cookies. Korzystając z forum wyrażasz zgodę na używanie cookies. Więcej informacji w regulaminie. OK (wyłącz komunikat)

Wstawka na stronach o rożnym kodowaniu znaków

Zaczęty przez Aztek, 08 Wrzesień, 2008, 22:27:51

Poprzedni wątek - Następny wątek

Aztek

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");

Nie wiesz jakiego smartfona wybrać? Zobacz - smartfonki.pl
Szukasz stacji pogodowej, termometru? Zobacz - stacje-pogody.pl

janu33

A czy jest możliwość w  wstawce pośrednia (odczyt linków z 1 pliku PHP) zapanować nad kodowaniem znaków?

Aztek

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...

janu33

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?

Aztek

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

janu33

Dzięki. Rzeczywiście proste i oczywiście działa :)

sqor

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?

Aztek

#7
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");

sqor

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ć?

Aztek

#9
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.

Nie wiesz jaką hulajnogę elektryczną kupić? Zobacz - nahulajnogi.pl
Szukasz samochodu elektrycznego? Zobacz - zeroauta.pl