Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Usuwanie ze stringa dziwnych znaków (utf8)
Forum PHP.pl > Forum > PHP
sf
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);
rocktech.pl
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 smile.gif
Ilware
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.