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.
