Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Polskie znaki, Polskie znaki
Konop857
post 7.10.2011, 18:54:37
Post #1





Grupa: Zarejestrowani
Postów: 81
Pomógł: 2
Dołączył: 4.05.2011

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
Daiquiri
post 7.10.2011, 18:55:56
Post #2





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




Temat: MYSQL Polskie znaki
Go to the top of the page
+Quote Post
Konop857
post 11.10.2011, 16:08:10
Post #3





Grupa: Zarejestrowani
Postów: 81
Pomógł: 2
Dołączył: 4.05.2011

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
blooregard
post 11.10.2011, 16:11:10
Post #4


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




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


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
Konop857
post 11.10.2011, 16:26:07
Post #5





Grupa: Zarejestrowani
Postów: 81
Pomógł: 2
Dołączył: 4.05.2011

Ostrzeżenie: (10%)
X----


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


Ten post edytował Konop857 11.10.2011, 17:07:30
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 15.06.2025 - 16:01