![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 212 Pomógł: 0 Dołączył: 18.12.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Kombinuje już pare godzin i nie moge dać sobie rady z kodowaniem polskich znaków. Chodzi o program XAMPP w sieci lokalnej. W bazie danych mam normalnie widoczne polskie znaki (ŻÓŁĆ ĘŚLĄŹŃ) ale podczas wyświetlania na stronie widać tylko (Ó) reszta polskich znaków to same znaki zapytania ((IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?). Proszę o pomoc jakie mam ustawić kodowanie: - w kodzie źródłowym plików - w systemie zapisu pliku php - w systemie kodowania znaków dla MySQL - oraz metode porównywania napisów w tabeli bazy danych Jak widzicie kombinacji jest wiele, oczywiście próbowałem wszędzie ustawić utf-8 lub iso-8859-2 lub windows-1250. Niestety ciągle problem ten sam. Może o czymś jeszcze zapominam ? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 890 Pomógł: 65 Dołączył: 13.11.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Wszędzie takie samo kodowanie. Najlepiej utf8 lub iso-8859-2 (latin2).
1. Plik zapisuj w odpowiedniej stronie kodowej 2. Ustal kodowanie tekstu za pomocą tagu meta lub odpowiednim header'em, np:
3. Ustal kodowanie w bazie 4. Zaraz po nawiązaniu połączenia z bazą danych, np:
Jeśli wszystko to zrobisz, nie ma innej opcji jak tylko poprawnie działać (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Jeśli nadal nie będzie polskich znaczków - gdzieś w powyższym popełniłeś błąd. edit: "Content-Type:" ma być w 2. punkcie, nie wiem czemu forum zżera mi tam literki o_O Ten post edytował drPayton 15.09.2008, 12:12:59 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 212 Pomógł: 0 Dołączył: 18.12.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Wszędzie dałem kodowanie iso-8859-2 a w bazie latin2_general_ci i dalej w bazie widnieją polskie znaki a na stronie znaki zpaytania... mało tego, mam taki mini panel administracyjny i jak w nim edytuje jakiś wpis, wpisuje polskie znaki to w bazie mi jeszcze podmienia polskie znaki na znaki zapytania.
A co do tej liniki po nawiąznaiu połączenia to wyskakuje mi komunikat: Parse error: syntax error, unexpected T_STRING in C:\Program Files\xampp\htdocs\search.php on line 10 Jakieś jeszcze pomysły ? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 890 Pomógł: 65 Dołączył: 13.11.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Widzę, że z arączkę trzeba poprowadzić (IMG:http://forum.php.pl/style_emoticons/default/aaevil.gif)
Skoro zdecydowałeś się na latin2, to: 1. Zapisuj pliki php/html/tpl etc z kodowaniem iso-8859-2 2. Zanim cokolwiek na ekran wyrzucisz 3. Cała baza jak i tabele i poszczególne pola mają mieć kodowanie latin2 4.
Chyba mi nie powiesz, że te set names wpisałeś ot tak, bezpośrednio w kod? o_O |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Odpaliłem XAMPP'a, z bazą łącze się tak:
Kodowanie dla bazy ustawiłem latin2, kodowanie na stronie ISO - i działa bez problemów. Prawdopodobobnie masz w bazie jakieś dzikie krzaki - spróbuj je pobrać z bazy i sprawdzić kodowanie funkcją mb_detect_encoding" title="Zobacz w manualu PHP" target="_manual - ustaw tak jak piszę i wpisz coś do bazy - powinno śmigać. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 9.04.2007 Skąd: Zamość / Lublin / Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Trochę głupie pytanie ale...
Ktoś może odpowiedzieć dlaczego nawet print nie pokazywał mi polskich znaków dopóki nie dałem selekta SET NAMES 'UTF-8' ? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 13:33 |