我需要在PHP中复制MySQL的
我想到的方法是:
utf8_general_ci
排序规则的行为。严格来说,我需要检测什么应该被认为是不同的,什么应该被认为是相同的。大小写无关的部分很容易。问题在于utf_general_ci
将带变音符号和不带变音符号的字符视为相等:e = è = é等等。要复制该比较,我需要一种方法来替换è -> e、é -> e。我想到的方法是:
echo iconv("utf-8", "ascii//TRANSLIT", "é");
一个问题是,iconv
的行为因当前语言环境而异,这会导致问题。
另一个问题是输入可能包含不应该被剥离或导致 PHP 注意的西里尔字母。
echo iconv("utf-8", "ascii//TRANSLIT", "дом");
是否有解决方案,还是我需要手动创建每个带附加符号的字符到没有附加符号的字符的映射?