【问题标题】:What chr(int).chr(int) decompositions do these 4 letters have? Ș, ș, Ț, ț这 4 个字母有哪些 chr(int).chr(int) 分解? Σ, Σ, Σ, Σ
【发布时间】:2010-07-20 23:55:48
【问题描述】:

我真的需要让 WordPress 在创建帖子 slug 时“清理”它们并用 S、s、T、t 替换它们。

我知道此代码在wp-includes/formatting.php 中,它是“remove_accents”函数,但我终其一生都无法弄清楚这些字母是如何分解为 chr(int).chr(int),而我真的很想知道,因为我希望将这些变音符号包含在该列表中。

【问题讨论】:

    标签: php wordpress internationalization


    【解决方案1】:

    我尽量让不知道或不关心成为我的事,当然也不在我自己的代码中保留表格:)

    echo iconv('utf-8','ascii//translit','Ș, ș, Ț, ț');
    //Output: S, s, T, t
    

    【讨论】:

    • 谢谢。我知道这就是“应该完成”的方式,但是这种分解已经困扰了我很长时间。另外,出于某种奇怪的原因,我认为 WordPress 有一个理由(c)在那里保留一张桌子,并且这将有助于让这个微小的改变像他们以前那样被接受,但谷歌搜索我找到了理由在 php.net 页面上发表评论,因为我不知道哪个函数,提供似乎已成为 remove_accents 函数的行。
    • 好吧,也许从历史上看,iconv 并不是随处可用。为了提供一个几乎可以在任何地方工作的包,许多 CMS 和框架都在重新实现现有代码。更聪明的人会在使用之前进行特征检测。
    【解决方案2】:

    假设您使用的是 utf-8:

    Ș -> \xc8\x98 -> 200,152
    ș -> \xc8\x99 -> 200,153
    Ț -> \xc8\x9a -> 200,154
    ț -> \xc8\x9b -> 200,155
    

    【讨论】:

    • 谢谢。你能告诉我你是怎么做到的吗? ;;)
    • 我打开了一个 python 终端,并将一个字形粘贴到一个字符串中。然后回显该字符串以查看其十六进制值。或者,您可以让那些只是在 utf-8 字符表上查找字形的人,例如 utf8-chartable.de/unicode-utf8-table.pl?start=512。然后你需要将这些值转换为 base10
    猜你喜欢
    • 1970-01-01
    • 2014-07-14
    • 1970-01-01
    • 1970-01-01
    • 2017-09-07
    • 2013-11-29
    • 1970-01-01
    • 2016-09-12
    • 2013-01-29
    相关资源
    最近更新 更多