Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: php5 + mySQL5 + Apache2 + Debian Etch +UTF8
Forum PHP.pl > Forum > Bazy danych > MySQL
buracky
Witajcie,
od dłuższego czasu mam problem z kodowaniem polskich znaków...Niestey nie znalazłem nic na ten temat na forum. Poniżej mój problem .

Jeżeli wprowadzę teksty z polskimi znakami do bazy przez PMA (kodowanie UTF8) to na stronie (też kodowanej UTF8) widzę polskie znaki biggrin.gif . Natomiast wprowadzając te same słowa ze swojego formularza mam krzaki sad.gif

W my.conf mam wymuszanie UTF8
W php.conf mam wymuszanie UTF8
W kodzie po wywołaniu połączenia z bazą też mam SET NAMES ...
W Apache - default UTF8

Baza
kodowanie UTF8
colation - UTF-polish (zmieniałem już na różne bez efektu)

Pomocy
jastu
Ja bym sprawdził czy przeglądarka faktycznie poprawnie interpretuje nagłówek z informacją o kodowaniu ?!
Piszę, bo też mam problem, też z posliki znakami w utf-8...problem polega wyświetlaniu komunikatu
  1. #1406 - Data too long for column 'nazwa' at row 1
gdy w wyrazie pojawi się litera ł, ą, ż, ź, ń lub inne z wyjątkiem ó ?
Czy ktoś miał podobny problem ?
buracky
Witam,
miałem już taki problem, poradziłem sobie z tym zmieniając długość pola. W innym przypadku musiałem zmienić colation chyba na latin2. Teraz tego nie wytestuje bo nie działa poprawne wprowadzanie z moich formatek angrysmiley.gif
jastu
Zwróćcie uwagę na kodowanie każdej z kolumn - bywa czasem inne niż kodowanie tabeli...mi pomogło dry.gif
buracky
Wiem gdzie powstaje problem, natomiast nie wiem jak to obejść. Może będzie tu mądra głowa, która zaradzi mi już się skończyły pomysły ...

Jeżeli wysyłam polskie znaki z formularza zapisuje do bazy krzak .... Jeżeli zapiszę dane z polskimi znakami bezpośrednio w kodzie PHP to zapisywane dane są poprawne smile.gif

Więc problem jest w momencie kiedy przesyłam dane z formularza do skryptu. Podejrzewam, że wszyscy mają ten sam problem tylko szukamy rozwiązań nie tam gdzie trzeba. Zastanawia mnie tylko jedno, dlaczego zmienia się kodowanie, skoro jest to jeden plik itd...

Przybywajcie mądre głowy i znajdzcie rozwiązanie problemu ....


biggrin.gif biggrin.gif biggrin.gif
Znalazłem rozwiązanie, może i wam się to przyda ...

W pliku konfiguracyjnym PHP'a trzeba zahaszować wszystkie wpisy "mbstring" w Debianie etch jest to pod koniec pliku i wszystko rusza exclamation.gif!

W kodach nie potrzeba podawać żadnych dodatkowych funkcji do trzemania kodowania. U mnie to było przyczyną tego, że zmieniane były zmienne $_POST

Pozdrawiam


Udało się ... a poniżej rozwiązanie

w pliku konfiguracyjnym PHP'a zahaszować wpisy mbstring to one zmieniały teksty wpisywane w zmienne $_POST.

Jeżeli wymuszone jest kodowanie znaków w my.ini i apache to w php już nie trzeba dodawać żadnych dodatkowych zmian.

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