4

diatrics を含む文字列を ASCII バージョンに変換する必要があります。

たとえば、文字列「Caicó」は「Caico」に変換され、「À bientôt」は「A bientot」に変換されます。多くのヨーロッパ言語では、通常のラテン文字を発音記号で装飾して発音を変えるのはよくある問題です。

問題は、データベースが ASCII (通常の) エンコーディングで入力され、それを Unicode 文字と比較する必要がある場合です。

この関数TO_ASCIIは、ポルトガル語の PostegreSQL で完全に機能します。Oracle での同様の機能、または Oracle でそのような文字列を比較するためのより良いアプローチのアイデアはありますか?

4

3 に答える 3

2

このようなものが適していますか?おそらく関数でラップしますか?

SELECT CONVERT(TRANSLATE('Ä Ê Í Ó Ø A B C D E ã Ã ã Ã'
   ,'ãÃ','aA')
   ,'US7ASCII','WE8ISO8859P1') from dual
于 2012-11-23T04:24:18.180 に答える
0

使ってみて

SELECT CONVERT('Ä Ê Í Ó Ø A B C D E ã Ã', 'us7ascii', 'ee8mswin1250') FROM DUAL

これにより、文字「ã」または「ã」が削除されます。

于 2016-08-25T16:47:54.683 に答える
0

以下の関数は、ポルトガル語のほとんどすべての文字に対して Oracle で正常に機能しますが、文字 'ã' または 'ã' では機能しません</p>

SELECT CONVERT('Ä Ê Í Ó Ø A B C D E ã Ã','US7ASCII','WE8ISO8859P1') from dual
于 2012-11-22T18:14:51.497 に答える