我有一个来自第三方站点的提要,有时我必须申请utf8_decode和其他时间utf8_encode才能获得所需的可见输出。
utf8_decode
utf8_encode
如果错误地将相同的内容应用两次/或者使用了错误的方法,我会变得更加难看,这就是我要更改的内容。
如何检测什么时候需要在字符串上应用?
实际上,内容返回的是UTF-8,但是内部有一些不是。
我不能说我可以依靠mb_detect_encoding()。我前段时间有一些怪异的误报。
mb_detect_encoding()
我发现在每种情况下都能正常工作的最普遍方式是:
if (preg_match('!!u', $string)) { // This is UTF-8 } else { // Definitely not UTF-8 }