2011-03-30 9 views

答えて

0

同様の質問hereがありました。

Androidで実際には可能ではないと言われましたが、標準化された列を追加することで回避策があります。

7

解決策はありますが、それほどエレガントではありませんが、Android上で動作します。

関数REPLACEは、アクセント付き文字を通常の文字で置き換えることができます。例:

SELECT YOUR_COLUMN FROM YOUR_TABLE WHERE replace(replace(replace(replace(replace(replace(replace(replace(
replace(replace(replace(lower(YOUR_COLUMN), 'á','a'), 'ã','a'), 'â','a'), 'é','e'), 'ê','e'), 'í','i'), 
'ó','o') ,'õ','o') ,'ô','o'),'ú','u'), 'ç','c') LIKE 'SEARCH_KEY%' 

またはUnicodeを使用します。

SEARCH_KEYはあなたが列を見つけたいキーワードです
SELECT YOUR_COLUMN FROM YOUR_TABLE WHERE replace(replace(replace(replace(replace(replace(replace(replace(
replace(replace(replace(lower(YOUR_COLUMN), '\u00E1','a'), '\u00E3','a'), '\u00E2','a'), '\u00E9','e'), '\u00EA','e'), '\u00ED','i'), 
'\u00F3','o') ,'\u00F5','o') ,'\u00F4' ,'o'),'\u00FA','u'), '\u00E7' ,'c') LIKE 'SEARCH_KEY%' 

+1

これは性能にはあまり適していませんが、少なくとも解決策です –

+0

@MarcosVasconcelosはい、パフォーマンスは良くありません。しかし、それは可能な解決策です。 – Derzu

関連する問題