首页 > 解决方案 > 如何在 Oracle 中获取 URL 友好的字符串?

问题描述

我正在寻找一种获取 URL 友好字符串的方法。我正在正确处理特殊字符 (?;:!?./§*$^¨£µ...)

但是,我正在努力处理带有一些口音的拉丁字母,例如:ÄÊÍÕàùã...

对于像这样的字符串

ÄÊÍÕABCDEàùã

我期待着

AEIOABCDEua

我试过了 :

SELECT CONVERT('ÄÊÍÕABCDEàùã', 'US7ASCII', 'AL32UTF8') FROM DUAL;

但它返回

AEI?ABCDEau?

它忽略了一些字符(Õ,ã)。我尝试了这里详述的所有字符集, 但没有一个能正确转换所有字符串字符。

请问有没有办法将所有拉丁字母转换成它们对应的简单形式?

谢谢干杯,

标签: sqloracle

解决方案


回答 :

select utl_raw.cast_to_varchar2((nlssort('ÄÊÍÕABCDEàùã', 'nls_sort=binary_ai'))) from dual

返回:

aeioabcdeaua

推荐阅读