作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要复制 MySQL utf8_general_ci
的行为PHP 中的整理。严格来说,我需要检测哪些是不同的,哪些是相同的。独立于案例的部分很容易。问题是utf_general_ci
认为带有变音符号的字符和没有变音符号的字符是相等的:e = è = é 等。要复制这种比较,我需要有一种方法来替换 è -> e, é -> e。
我想到的方法是:
echo iconv("utf-8", "ascii//TRANSLIT", "é");
iconv
根据当前的语言环境,行为会有所不同,这会导致问题。
echo iconv("utf-8", "ascii//TRANSLIT", "дом");
最佳答案
国际Transliterator将让您定义更深入的音译规则。有关音译规则的完整文档可以在 icu-project.org 上找到。 .
$tests = [ "é", "дом" ];
$tl = Transliterator::create('Latin-ASCII;');
foreach($tests as $str) {
var_dump(
$tl->transliterate($str)
);
}
string(1) "e"
string(6) "дом"
关于php - 如何从 PHP 中的 UTF8 字符获取 "remove diacritics"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48588705/
我是一名优秀的程序员,十分优秀!