一尘不染

如何检测是否必须对字符串应用UTF-8解码或编码?

php

我有一个来自第三方站点的提要,有时我必须申请utf8_decode和其他时间utf8_encode才能获得所需的可见输出。

如果错误地将相同的内容应用两次/或者使用了错误的方法,我会变得更加难看,这就是我要更改的内容。

如何检测什么时候需要在字符串上应用?

实际上,内容返回的是UTF-8,但是内部有一些不是。


阅读 265

收藏
2020-05-29

共1个答案

一尘不染

我不能说我可以依靠mb_detect_encoding()。我前段时间有一些怪异的误报。

我发现在每种情况下都能正常工作的最普遍方式是:

if (preg_match('!!u', $string))
{
   // This is UTF-8
}
else
{
   // Definitely not UTF-8
}
2020-05-29