Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[PHP] Problemy z kodowaniem

Ostatnio zmodyfikowano 2011-06-29 23:06
Autor Wiadomość
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.
P-34826
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?
P-34835
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.
P-34885
malan
» 2011-06-28 22:55:11
A jakie kodowanie ustawiłeś na stronie?
P-34888
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.
P-34891
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.
P-34920
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
P-34929
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.
P-34982
« 1 »
  Strona 1 z 1