Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Usuwanie ze stringa dziwnych znaków (utf8)
sf
post
Post #1





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


Witam,

Z pliku *.doc poprzez program konsolowy eksportuje dane do formatu *.txt. Niestety czasem pojawiają się niestandardowe znaki, które przy dodawaniu do bazy (pole text) powodują błąd typu :

Cytat
SQLSTATE[22021]: Character not in repertoire: 7 ERROR: invalid byte sequence for encoding "UTF8": 0xe40a9d HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding".


Ogólnie to baza postgresql, ale to nie ma raczej znaczenia. Czy ma ktoś gotowy filtr w PHP, który pousuwa wszystkie znaki poza standardowymi znakami, liczbami oraz literami z różnych języków (np. niemiecki, norweski ; natomiast japoński, chiński jak najbardziej można wyciąć )?

EDIT: szukam sprawdzonego rozwiązania, wiem, że na necie ludzie wrzucają masę przykładów, ale potrzebuje coś co na 100% działa i nie zgubi mi liter

EDIT2: ok, temat nieaktualny, rozwiązanie bardzo proste:

  1. $txt = iconv("UTF-8","UTF-8//IGNORE",$txt);


Ten post edytował sf 22.11.2011, 10:52:09
Go to the top of the page
+Quote Post
rocktech.pl
post
Post #2





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

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


Witam.

Popatrz na ten przykład w manualu do tej funkcji iconv.

Zasada będzie podobna i nie szukaj funkcji potworów zmieścisz się w 1 linijce (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Ilware
post
Post #3





Grupa: Zarejestrowani
Postów: 248
Pomógł: 31
Dołączył: 14.12.2010
Skąd: Wrocław

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


bardziej szukaj czegoś podobnego do mb_convert_encoding , kodowanie UTF-8 jest zapisane na 2 bajtach i iconv ma z nim problem , dlatego powstały wszystkie funkcje multibyte
Go to the top of the page
+Quote Post

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: 14.09.2025 - 23:37