我无法比较我认为应该完全相同的两个 unicode 字符。我怀疑它们以某种方式编码不同,但不知道如何将它们更改为相同的编码。
我要比较的字符来自缅甸 Unicode 块。我在 php 5 上运行 wordpress,并试图制作一个自定义插件来处理缅甸 Unicode。我所有的文件都以 UTF-8 编码,但我不知道 wordpress 是做什么的。
这是我正在做的事情:
function myFunction( $inputText ) {
$outputText = '';
$inputTextArray = str_split($inputText);
foreach($inputTextArray as $char) {
if ($char == "က") // U+1000, a character from the Myanmar Unicode block
$outputText .= $char;
}
return $outputText;
}
add_filter( 'the_content', 'myFunction');
在解决问题的这个阶段,该函数应该只返回 က 它出现在内容中的位置。但是,它只返回空字符串,即使 က 明显存在于帖子内容中。如果我将字符更改为任何拉丁字符,该函数将按预期工作。
所以,我的问题是,我如何编码这些字符($char
或者"က"
),以便当$char
包含这个字符时,它们比较相等。