sql - 如何在 Oracle 中获取 URL 友好的字符串?
问题描述
我正在寻找一种获取 URL 友好字符串的方法。我正在正确处理特殊字符 (?;:!?./§*$^¨£µ...)
但是,我正在努力处理带有一些口音的拉丁字母,例如:ÄÊÍÕàùã...
对于像这样的字符串
ÄÊÍÕABCDEàùã
我期待着
AEIOABCDEua
我试过了 :
SELECT CONVERT('ÄÊÍÕABCDEàùã', 'US7ASCII', 'AL32UTF8') FROM DUAL;
但它返回
AEI?ABCDEau?
它忽略了一些字符(Õ,ã)。我尝试了这里详述的所有字符集, 但没有一个能正确转换所有字符串字符。
请问有没有办法将所有拉丁字母转换成它们对应的简单形式?
谢谢干杯,
解决方案
回答 :
select utl_raw.cast_to_varchar2((nlssort('ÄÊÍÕABCDEàùã', 'nls_sort=binary_ai'))) from dual
返回:
aeioabcdeaua
推荐阅读
- javascript - 自动更正到最接近的可能值(数量形式 WordPress)
- c# - unity 成员修饰符 public 必须在前面
- mysql - 无法在 Google 计算引擎上启用 bin-log
- php - php artisan serve 找不到 autoload.php
- android - 无法以编程方式将联系人添加到android中的特定组
- mongodb - 在 adminMongo 的查询文档对话框中对数据进行排序($sort)
- mqtt-vernemq - 检查客户端连接到 VerneMQ 集群中的哪个节点
- c# - 在另一个对象中引用一个对象会导致 JsonSerializationException
- php - 保存为 blob 的图像不显示
- dokku - Dokku 迁移到一个新的小滴