Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Kodowanie znaków
coder()
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 3.05.2007

Ostrzeżenie: (0%)
-----


Witam.
Mam formularz do którego wpisywane są dane i przesyłane do tablicy POST. Później text ten jest poddawany specjalnej obróbce i wsadzany do bazy danych.
Jednak zanim nastąpi to ostatnie należy dostosować kodowanie znaków do UTF-8 (takie mam ustawione w bazie).
Zmiana kodowania nie była by problemem gdyby było znane kodowanie wejściowe. I moje pytanie jest jak sprawdzić w jakim systemie jest zakodowany dany ciag znaków?

Użytkownik tegoż formularza może wprowadzać tekst w przeróżnych systemach (nie znanych podczas wprowadzania - bo np. tekst może zostać skopiowany z jakiejś zagranicznej strony i kodowanie nie jest już takie same jak na mojej stronie w formularzu), a ja chce je wszystkie mieć w UTF-8. Jak dokonać takiej konwersji?

Niestety biblioteka z funkcjami iconv()" title="Zobacz w manualu PHP" target="_manual i mb_detect_encoding()" title="Zobacz w manualu PHP" target="_manual nie jest zainstalowana na serwerze (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zimi
post
Post #2





Grupa: Zarejestrowani
Postów: 233
Pomógł: 9
Dołączył: 3.06.2007

Ostrzeżenie: (0%)
-----


generalnie z tego co widzę jeśli masz formularz w jakimś kodowaniu (w tym wypadku UTF-8) i skopiujesz do niego jakąś zawartość to przeglądarka zadba o to żeby doszło to do Ciebie już w UTF
(z tym że przeglądarka wie z nagłówków strony jakie kodowanie miała i jakie ma dostarczyć)

ja wziąłem swoją stronkę w UTF i wpisałem coś z jakieś francuskiej strony z ISO-8859-1 i nie pokazały mi się szlaczki
przeglądarka o to zadba gdy w kodowaniu z Twojej strony będą odpowiednie znaczki...

co do samego wykrywania kodowania na podstawie tekstu..., funkcja którą podałeś mb_detect_encoding" title="Zobacz w manualu PHP" target="_manual,
jako parametr przyjmuję listę języków, aby wiedzieć co najpierw za kodowanie ma wypluć... stąd wniosek że one magicznie nie stwierdzą Ci co to było za kodowanie z całą pewnością
więc tak naprawdę wiesz niewiele
o ISO wiesz że znaki od 7F do 9F są nieużywane... więc jeśli pojawi Ci się jakiś znak o kodzie w tym zakresie to wiesz że to nie iso...
ale rozpoznać kodowań ISO między sobą już właściwie nie masz szans... musiałbyć mieć słowniki różnych języków i sprawdzać czy kolejne słowa tekstu się w nim znajdują (mając przy tym nadzieje że ludzie piszą bez błędów ortograficznych)
ogólnie moim zdaniem nie ma tutaj zbyt wiele pola do popisu
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 15:45