[PHP] Problemy z kodowaniem
Ostatnio zmodyfikowano 2011-06-29 23:06
absflg Temat założony przez niniejszego użytkownika |
[PHP] Problemy z kodowaniem » 2011-06-28 03:34:36 Wszystkie strony w serwisie zakodowałem w UTF-8. Ustawiłem identyczne kodowanie w bazie danych. Wszystko pięknie działa. Nawet cyrylica i kanji są poprawnie zapisywane i widoczne w na stronie i phpMyAdmin.
Teraz niezbędnym jest, aby przesyłać w urlu polskie znaki i zapisać je w bazie danych, tak by były poprawnie obsługiwane przez pozostałe strony. Pobieram sobie z tablicy $_GET w PHP tekst. Doszedłem do tego, że znaki są kodowane w ISO-8859-2. Jednak konwersja funkcją PHP iconv we wszystkie strony między UTF-8, Windows-1250 i ISO-8859-2 nic nie dała. |
|
ison |
» 2011-06-28 13:55:16 Doszedłem do tego, że znaki są kodowane w ISO-8859-2.
|
w sensie, że takie kodowanie masz w urlu czy takie chcesz otrzymać? ISO-8859-2 zawiera przecież polskie znaki $var = $_GET['var']; $var=iconv("UTF-8","iso-8859-2",$var);
nie działa? |
|
absflg Temat założony przez niniejszego użytkownika |
» 2011-06-28 21:42:47 Nie działa. Przecież pisałem , że próbowałem konwersji we wszystkie strony. Chcę osiągnąć UTF-8, bo takie mam na reszcie stron i w bazie danych, o czym też napisałem. |
|
malan |
» 2011-06-28 22:55:11 A jakie kodowanie ustawiłeś na stronie? |
|
DejaVu |
» 2011-06-28 23:24:46 Nie ustawiłeś zapewne kodowania dla połączenia - większość serwerów ma domyślnie kodowanie dla połączeń ustawione na ISO. |
|
absflg Temat założony przez niniejszego użytkownika |
» 2011-06-29 14:14:05 Przecież napisałem, że całą bazę mam "przestrojoną" na UTF-8 i wszystko (poza tym przechwyconym z adresu url) dobrze się zapisuje i odczytuje. |
|
DejaVu |
» 2011-06-29 15:49:26 Tyle, że jest wiele poziomów konfiguracji kodowania :)
1) WWW (w kodzie html)
2) Kodowanie serwera
3) Konkretne pola tablicy
4) Komunikacja klient/serwer -> zapewne to masz zwalone ;p
|
|
Ziemowit |
» 2011-06-29 23:06:49 DejaVu dobrze mówi. Co prawda nie w PHP, ale miałem podobny problem, czyli: Chciałem z kodu napisanego w C++ łączyć się z bazą danych. Kodowanie w napisanym programie było ustawione na UTF 8. CO więcej baza danych była przestrojona na UTF 8. Wszystko z osobna działało, ale przy przesyłaniu był problem... Nie działały polskie znaki. W końcu doszedłem, co to. Problemem była właśnie funkcja obsługująca przesyłanie danych na linii klient-serwer. Trzeba było ustawić dla niej odpowiedni typ formatowania i wtedy nagle wszystko ruszyło. Sądzę, że masz podobny problem. |
|
« 1 » |