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

Autor Wątek: Wstawka na stronach o rożnym kodowaniu znaków  (Przeczytany 8717 razy)

Offline Aztek

  • Administrator
  • *****
  • Wiadomości: 436
Wstawka na stronach o rożnym kodowaniu znaków
« dnia: 08 Wrzesień, 2008, 22:27:51 »
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");

WMsoft

Wstawka na stronach o rożnym kodowaniu znaków
« dnia: 08 Wrzesień, 2008, 22:27:51 »
Nie wiesz jakiego smartfona wybrać? Zobacz - smartfonki.pl
Szukasz stacji pogodowej, termometru? Zobacz - stacje-pogody.pl

Offline janu33

  • Nowicjusz
  • *
  • Wiadomości: 8
Odp: Wstawka na stronach o rożnym kodowaniu znaków
« Odpowiedź #1 dnia: 18 Październik, 2008, 08:58:49 »
A czy jest możliwość w  wstawce pośrednia (odczyt linków z 1 pliku PHP) zapanować nad kodowaniem znaków?

Offline Aztek

  • Administrator
  • *****
  • Wiadomości: 436
Odp: Wstawka na stronach o rożnym kodowaniu znaków
« Odpowiedź #2 dnia: 18 Październik, 2008, 16:10:32 »
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...

Offline janu33

  • Nowicjusz
  • *
  • Wiadomości: 8
Odp: Wstawka na stronach o rożnym kodowaniu znaków
« Odpowiedź #3 dnia: 14 Grudzień, 2008, 07:45:30 »
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?

Offline Aztek

  • Administrator
  • *****
  • Wiadomości: 436
Odp: Wstawka na stronach o rożnym kodowaniu znaków
« Odpowiedź #4 dnia: 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

Offline janu33

  • Nowicjusz
  • *
  • Wiadomości: 8
Odp: Wstawka na stronach o rożnym kodowaniu znaków
« Odpowiedź #5 dnia: 14 Grudzień, 2008, 21:27:14 »
Dzięki. Rzeczywiście proste i oczywiście działa :)

Offline sqor

  • Nowicjusz
  • *
  • Wiadomości: 2
Odp: Wstawka na stronach o rożnym kodowaniu znaków
« Odpowiedź #6 dnia: 09 Sierpień, 2009, 21:09:22 »
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?

Offline Aztek

  • Administrator
  • *****
  • Wiadomości: 436
Odp: Wstawka na stronach o rożnym kodowaniu znaków
« Odpowiedź #7 dnia: 11 Sierpień, 2009, 00:14:23 »
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");
« Ostatnia zmiana: 11 Sierpień, 2009, 00:16:21 wysłana przez WMsoft »

Offline sqor

  • Nowicjusz
  • *
  • Wiadomości: 2
Odp: Wstawka na stronach o rożnym kodowaniu znaków
« Odpowiedź #8 dnia: 11 Sierpień, 2009, 13:18:26 »
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ć?

Offline Aztek

  • Administrator
  • *****
  • Wiadomości: 436
Odp: Wstawka na stronach o rożnym kodowaniu znaków
« Odpowiedź #9 dnia: 11 Sierpień, 2009, 18:42:34 »
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.
« Ostatnia zmiana: 11 Sierpień, 2009, 18:44:53 wysłana przez WMsoft »