2011/2/13 Hans Marmolin <[email protected]>:
> Mina problem är
> 1. När jag använder autocomplete och gör
> search=request.raw_post.downcase.split('=').second.split('&').first
> för att ta ut söksträngen så får jag '%c3%b6' liknande tecken för ÅÄÖ
> Detta åtgärdar jag med följande fix
>
>    def to_uf8(search)
>      #- fix to handle utf8 problem when inputting search chrs
>       search.gsub!('%c3%b6','ö')
> Vilket inte verkar vara rätt väg att gå !!!

Nej, definitivt inte. raw_post är väl URL-encodad, d.v.s. alla
"konstiga" tecken skrivs med procenttecken och siffror.

Kan du inte använda params['search'] eller liknande för det här? Det
värde du vill åt finns förmodligen redan omgjort till UTF-8
någonstans. raw_post verkar onödigt lågnivå.

> 2. När jag söker efter matchningar enligt
> ['LOWER(name) LIKE ?', '%' + search.downcase + '%' ]
> ger search med AÅÄ samma resultat, dvs Å i autocompletefältet matchar alla

Jag brukar göra typ

  ['name COLLATE utf8_swedish_ci LIKE ?', '%' + search + '%' ]

Då blir sökningen case-insensitive (även med åäö/ÅÄÖ) och skiljer på
t.ex. "a" och "å" men inte på t.ex. "a" och "á".

> 3. Nu vet jag inte om det finns samma problem alla gånger jag använder find
> med ÅÄÖ i villkorssatsen ?
> I så fall är jag illa ute !

Skriv tester för detta så märker du.

-- 
You received this message because you are subscribed to the Google Groups 
"rails-i18n" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rails-i18n?hl=en.

Reply via email to