![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 136 Pomógł: 0 Dołączył: 17.11.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cześć. Mam problem, polegajacy na tym, iż na CMS-ie własnej produkcji nie mogę zapisywać do bazy danych polskich znaków takich jak: ł,ą,ż, itp. Tylko zadziwiajace jest to że ten sam skrypt na serwerze innej firmy działa dobrze. Przez bazę danych (phpmyAdmin) mogę zapisać polskie znaki, ale już przez mój skrypt nie, gdyż wywala że zapisano, ale zamiast polskich znaków jest "?". Kodowanie strony oraz skryptu jest dobre, a nie działa jak powinien. Dodatkowo po jednokrotnym zrobieniu funkcji UPDATE danego rekordu nie można go już aktualizować. Co to moze być??
Czy problem moze polegać na funkcji "escape_data" któej uzywam do wyciągania i zapisywania danych z bazy. Pomocy!!! -------------------- Głupi wie wszystko, mądry uczy się całe życie.
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Sprawdz kodowanie w bazie. Bo chyba to bedzie przyczyna.
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 398 Pomógł: 10 Dołączył: 24.11.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli jest to MySQL 4.1+ to jeżeli domyślne kodowanie bazy to Latin2, a strona jest w ISO-8859-2 to wszystko powinno być OK. Jeżeli cokolwiek jest inaczej niz powyżej za każdym wywołaniem skryptu po inicjalizacji połączenia z bazą powinieneś wykonywać następujące polecenia w bazie (w tym przypadku ustawienie kodowania na utf8, jeżeli używasz ISO-8859-2 to zamiast utf8 wpisujesz tam latin2) :
Przykład dla utf8
Musisz też pamiętać aby w HTML - u w sekcji Meta wpisać odpowiednie kodowanie oraz wysłać do przeglądarki odpowiednie nagłowki. Przykład dla utf-8:
Pamiętaj również, aby w bazie ustawić odpowiedni system porównywania znaków (dla utf na przykład utf8_general_ci) -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 136 Pomógł: 0 Dołączył: 17.11.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
To jest coś z kodowaniem w tym moims krypcie, ponieważ sprawdzwiłem czy będzie dobrze jeśli do bazy danych wprowadzę prawidłowe dane ręcznie. I tak zrobiłem wprowadziłem ręcznie, uruchomiłem panela dministracyjny i tutaj pojawia się pytanie dlaczego zmiast poslich znaków są ? skoro w bazie danych jest wszystko dobrze, a kodowanie strony jest iso-8859-2.
-------------------- Głupi wie wszystko, mądry uczy się całe życie.
|
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Na kodowanie skladają się dwie rzeczy:
1. Usawione kodowanie w <meta> 2. Kodowanie w jakim zapisano plik. |
|
|
![]() ![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 89 Pomógł: 3 Dołączył: 14.07.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Brawo NoiseMc !
Bardzo dobry post. Męczyłem się z kodowaniem dwa dni i dopiero po przeczytaniu Twojego posta otwozryły mi się oczy, thx. Jednak nie zgodzę się co do domyślnego kodowania Mysql 4.1+ , według mnie jest to latin1. Ten post edytował kurt 28.03.2006, 21:02:52 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 26.06.2025 - 01:28 |