gpt4 book ai didi

postgresql - 具有超过 1 个变音符号的字符的 Postgres UNACCENT

转载 作者:行者123 更新时间:2023-11-29 11:58:54 28 4
gpt4 key购买 nike

UNACCENT 函数可以去掉字符的变音符号。但是,就我而言,它只能去除带有 1 个变音符号的字符,例如

  • 超人
  • 啊啊

对于具有超过 1 个变音符号的字符,UNACCENT 不执行任何操作,例如

  • phố

有没有办法让 Postgres 去掉这些字符的重音符号?

谢谢

最佳答案

PostgreSQL 的 unaccent 模块不使用 Unicode 规范化,而只是一个简单的搜索和替换字典。默认词典,unaccent.rules , 不包含这些越南字符,因此什么都不做。

不过您可以创建自己的非重音词典。 As explained in the documentation :

  1. 创建一个文本文件vietnamese.rules,内容如下

    ầ  a
    Ầ A
    ồ o
    Ồ O
  2. vietnamese.rules 移动到文件夹 $SHAREDIR/tsearch_data/(通常是 /usr/share/postgresql/tsearch_data)

  3. 运行函数为

    SELECT unaccent('vietnamese', 'Hồ ầ phố');
    -- ^~~~~~~~~~~~~

关于postgresql - 具有超过 1 个变音符号的字符的 Postgres UNACCENT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43293256/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com