![]() |
![]() |
![]() ![]()
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) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 3.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
już mam włączoną biblioteke mbstring... no i z strtoupper masz racje... w przypadku mb_strtoupper nie ma juz tego problemu... Niestety problem pozostaje nadal z preg_match.
funkcja ta ma usuwać ewentualne znaki interpunkcyjne i inne które nie są literami. No i jeśli użyje wyrażenia [:punct:] to wtedy usuwa znaki ale mi się wykrzacza... jeśli użyje zamiast tego to [,./;:`~] itd wtedy jest wszystko ok. Jednak nie zabezpiecza mnie to przed wszystkimi możliwymi znakami interpunkcyjnymi których nie mam na klawiaturze. Jak sobie z tym poradzić?? A teraz taki offtopic. Dlaczego jeśli używam funkcji strlen to długosć ciągu z polskim znakiem dialektycznym jest zawsze o 1 większa?? :| Ten post edytował coder() 7.01.2008, 18:57:33 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 05:25 |