【问题标题】:MySQL utf8_general character mapping tableMySQL utf8_general 字符映射表
【发布时间】:2009-09-14 09:52:19
【问题描述】:

据我了解,当 MySQL 比较存储在 utf8_general 排序规则中的字符串时,它首先将其字符转换为它们的 ASCII 等价物。换句话说ḩ = h, ţ = t, ā = a, í = i, 等等...

是否有一个映射表可以用来在 php 或 JavaScript 中实现类似的比较功能?我知道 PHP 中有替代方案,例如 iconv,但它们的音译略有不同,例如í = '我。

谢谢。

【问题讨论】:

  • 有一个 PHP 扩展可以满足你的要求:pecl.php.net/package/translit 但是,在内部,它只是调用 iconv,所以可能对你没有真正的用处。我不知道有任何(通用)独立 PHP 或 JavaScript 解决方案。

标签: php mysql unicode


【解决方案1】:

通常的方法是将字符串规范化为 Unicode Normal Form D(将变音符号放在与基本字母不同的字符中),然后使用 unicode “组合变音符号”类删除所有字符。

请参阅normalizer_normalize 以在 PHP 中进行规范化。我不知道 JavaScript 的解决方案:没有内置任何内容,您必须强制客户端吸收一些大型 Unicode 字符数据表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-16
    • 2011-09-21
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 2018-08-06
    • 2011-07-25
    • 1970-01-01
    相关资源
    最近更新 更多