On Sun, Oct 28, 2001 at 09:22:24AM +0100, Jean-Michel POURE wrote: > > I am running PostgreSQL 7.1.2 with UNICODE support in production. > Maybe I miss something about UNICODE: > > CREATE TABLE "test" ( > "source_oid" serial, > "source_timestamp" timestamp, > "source_creation" date DEFAULT 'now', > "source_modification" date DEFAULT 'now', > "source_content" text > ); > > INSERT INTO test (source_content) VALUES ('Photocopie du permis de > construire accepté.'); > > Now, when trying : > SELECT * FROM test WHERE source_content ILIKE '%accept%'; ---> returns the > record; > SELECT * FROM test WHERE source_content ILIKE '%accepté%' ---> returns > nothing > SELECT * FROM test WHERE source_content ILIKE '%accepte%' ---> returns > nothing > > The same happens from ODBC, PHP and psql. Can you reproduce this?
Sorry, I misinterpreted what your problem is. I somehow thought you want the 'é' and 'e' produce same result - for that you need to mess with locale, but LIKE does not use locale anyway... Now I reread you message and here's hint: * If client_encoding == server_encoding, the bytes are put into DB as-is - no conversion is done. So are you abslutely sure you have on client side UTF8 strings? Unfortunately you cant use client_encoding=latin1 as PostgreSQL refuses the do the conversion between them. (I am with 7.1.3) Eg. I did the following: * created db with encoding = UNICODE * Put your example into test.sql * iconv -f latin1 -t utf8 test.sql > test2.sql * psql < test2.sql and it worked as it should... -- marko ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])