Re: [SQL] Accent Marks - Mailing list pgsql-sql

From tjk@tksoft.com
Subject Re: [SQL] Accent Marks
Date
Msg-id 199912051803.KAA10642@uno.tksoft.com
Whole thread Raw
In response to Accent Marks  ("Jonathan Karlen" <jkarlen@karlen.com>)
List pgsql-sql
Jonathan,
You could write a custom function which handles the
searches for you, allowing i and i w/ an accent, for example, to
be handled as the same character. When implementing regular
expressions, one creates a pattern which can be used for
matching against strings. In your situation, you
could create a function which takes your string and
creates a pattern out of it, or to make things easier, just
accept the string as input and convert it to a string
which can be converted to a regular expression pattern
by Postgres.
E.g. you would accept your search string as input, and
find all i's in it, replacing them with "[iACCENTEDI]"
so that when a search is done, either of the i's qualifies.

There are more efficient ways of doing this, but this
would probably work for you.

Troy

>
> This is a multi-part message in MIME format.
>
> ------=_NextPart_000_0045_01BF3F0D.080C1EC0
> Content-Type: text/plain;
>     charset="iso-8859-1"
> Content-Transfer-Encoding: quoted-printable
>
> Greetings,
>
> I have a a client whom we're building a web application for that =
> contains data in many languages.  What they would like is for queries to =
> be accent insensitive.  In other words, for example in Spanish, if I was =
> to search on the word "ir", I'd get back any results containing either =
> "ir" or the same word with the "i" having an accent mark.  I don't see =
> how this is possible.  Any advice?
>
> Jonathan Karlen
> **********************************************
> Jonathan R. Karlen
> Karlen Internet Solutions
> jkarlen@karlen.com
> www.karlen.com
>
> ------=_NextPart_000_0045_01BF3F0D.080C1EC0
> Content-Type: text/html;
>     charset="iso-8859-1"
> Content-Transfer-Encoding: quoted-printable
>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
> <HTML><HEAD>
> <META content=3D"text/html; charset=3Diso-8859-1" =
> http-equiv=3DContent-Type>
> <META content=3D"MSHTML 5.00.2314.1000" name=3DGENERATOR>
> <STYLE></STYLE>
> </HEAD>
> <BODY bgColor=3D#ffffff>
> <DIV><FONT size=3D2>Greetings,</FONT></DIV>
> <DIV> </DIV>
> <DIV><FONT size=3D2>I have a a client whom we're building a web =
> application for=20
> that contains data in many languages.  What they would like is for =
> queries=20
> to be accent insensitive.  In other words, for example in Spanish, =
> if I was=20
> to search on the word "ir", I'd get back any results =
> containing either "ir"=20
> or the same word with the "i" having an accent mark.  I don't see =
> how this=20
> is possible.  Any advice?</FONT></DIV>
> <DIV> </DIV>
> <DIV><FONT size=3D2>Jonathan Karlen</FONT></DIV>
> <DIV><FONT =
> size=3D2>**********************************************<BR>Jonathan R.=20
> Karlen<BR>Karlen Internet Solutions<BR><A=20
> href=3D"mailto:jkarlen@karlen.com">jkarlen@karlen.com</A><BR><A=20
> href=3D"http://www.karlen.com">www.karlen.com</A></FONT></DIV></BODY></HT=
> ML>
>
> ------=_NextPart_000_0045_01BF3F0D.080C1EC0--
>
>
> ************
>
>

pgsql-sql by date:

Previous
From: "Jonathan Karlen"
Date:
Subject: Accent Marks
Next
From: Peter Eisentraut
Date:
Subject: Re: [SQL] Howto to force NULL rows at the bottom ?