Hello, Actually I tried smth like $str = @iconv("UTF-8", "UTF-8//IGNORE", $str); when preparing string for SQL query and it worked. There's probably a better way in PHP to achieve this: simply change default values in php.ini for these parameters: mbstring.encoding_translation = On mbstring.substitute_character = none and broken symbols will be automatically stripped off from the input and output. But I am interested in general solution and better practices anyway... -- Regards, Ivan On 8/15/07, Phoenix Kiula <phoenix.kiula@xxxxxxxxx> wrote: > On 15/08/07, Ivan Zolotukhin <ivan.zolotukhin@xxxxxxxxx> wrote: > > Hello, > > > > Imagine a web application that process text search queries from > > clients. If one types a text search query in a browser it then sends > > proper UTF-8 characters and application after all needed processing > > (escaping, checks, etc) passes it to database. But if one modifies URL > > of the query adding some trash non-UTF-8 characters, database raises > > an error: invalid byte sequence for encoding "UTF8". > > > > What is the best practice to process such a broken strings before > > passing them to PostgreSQL? Iconv from utf-8 to utf-8 dropping bad > > characters? > > > > Could you do not do this from the application itself, before sending > it to the DB server? mb_convert_encoding() in PHP for instance? > ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster