Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Polskie znaki
Forum PHP.pl > Forum > Przedszkole
Konop857
Witam
W index.php wpisałem
  1. <meta http-equiv='Content-type' content='text/html; charset=windows-1250' />

I wszystko ładnie działa.
Gdy do bazy danych wklepie polskie znaki, to w phpmyadminie wszystko ładnie wyświetla ale gdy próbuje na stronie wyświetlić zawartość tabeli powstają jakieś krzaki.
W czym jest problem?
Proszę o pomoc

Pozdrawiam
Daiquiri
Temat: MYSQL Polskie znaki
Konop857
Gdy mam
  1. <meta http-equiv='Content-type' content='text/html; charset=windows-1250' />

Wyświetla wszystkie polskie znaki wszędzie tylko nie w miejscach gdzie dane pochodzą z bazy danych.
Gdy dam:
  1. <meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />

Jest na odwrót - dane z bazy danych się dobrze wyświetlają a reszta czyli to co mam napisane w pliku to robią się krzaki ;/

Jak to pogodzić?

Pozdrawiam
blooregard
Znacznik <meta> nie ma nic wspólnego z kodowaniem danych w bazie.

To Ty musisz zadbać o to, by skrypt PHP wysyłał do przeglądarki już odpowiednio zakodowane bądź przekonwertowane dane.

W Twojej sytuacji w bazie jest na 99% kodowanie UTF-8, ale pliki serwisu edytujesz zapisując je jako ISO.
Wystarczy, że pliki serwisu będziesz zapisywał w UTF, kodowanie strony ustawisz w UTF-8 i będzie śmigać.
Konop857
Mógłbyś mi to bardziej wytłumaczyć bo za bardzo nie rozumiem?
@edit
Dobra, poradziłem sobie używając tej funkcji
  1. function jquery2iso($in)
  2. {
  3. $CONV = array();
  4. $CONV['c4']['85'] = 'ą';
  5. $CONV['c4']['84'] = 'Ą';
  6. $CONV['c4']['87'] = 'ć';
  7. $CONV['c4']['86'] = 'Ć';
  8. $CONV['c4']['99'] = 'ę';
  9. $CONV['c4']['98'] = 'Ę';
  10. $CONV['c5']['82'] = 'ł';
  11. $CONV['c5']['81'] = 'Ł';
  12. $CONV['c4']['84'] = 'ń';
  13. $CONV['c4']['83'] = 'Ń';
  14. $CONV['c3']['b3'] = 'ó';
  15. $CONV['c3']['93'] = 'Ó';
  16. $CONV['c5']['9b'] = 'ś';
  17. $CONV['c5']['9a'] = 'Ś';
  18. $CONV['c5']['ba'] = 'ź';
  19. $CONV['c5']['b9'] = 'Ź';
  20. $CONV['c5']['bc'] = 'ż';
  21. $CONV['c5']['bb'] = 'Ż';
  22.  
  23. $i=0;
  24. $out = '';
  25. while($i<strlen($in))
  26. {
  27. if(array_key_exists(bin2hex($in[$i]), $CONV))
  28. {
  29. $out .= $CONV[bin2hex($in[$i])][bin2hex($in[$i+1])];
  30. $i += 2;
  31. }
  32. else
  33. {
  34. $out .= $in[$i];
  35. $i += 1;
  36. }
  37. }
  38.  
  39. return $out;
  40. }
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.