Whatsapp分享PHP链接体验中文描述残破的中文字符
我们的PHP页面只是一个由元描述中的中文字符组成的UTF-8网页。Whatsapp分享PHP链接体验中文描述残破的中文字符
我不知道为什么当有人试图将链接分享到WhatsApp时,它显示了破碎的字母。
但我分享它发现它没有损坏(正常)。
背后有什么可能的原因?我们增加了两项:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
和
header('Content-Type: text/html; charset=UTF-8');
有人有任何线索?谢谢!
==========
正在使用的软件(假设博客软件)不能很好地处理UTF-8编码的内容,导致非UTF8输出到浏览器。
这并不是说博客软件在所有内容操作中都会有缺陷,更多的情况正好相反,它只在某些内容操作中存在缺陷。但它发生了,我已经看到了那里的每一页上,是足以让a simple UTF-8 check失败:
$ curl -s 'http://entrepreneur-times.com/l/tch/blog/?id=12' \
| php -r 'var_dump(preg_match("~~u", file_get_contents("php://stdin")));'
bool(false)
问题是描述文本(用于描述和OG HTML meta标签:描述)的产生。该软件的这一部分没有考虑内容的Unicode UTF-8编码,只是在一些二进制长度切断(很可能,我没有看到代码)。这种切割方式打破了UTF-8的输出。
此修复程序是为了消除软件中的缺陷。
@Vanson Wing Leung:Stackoverflow的例子在这里:https://stackoverflow.com/a/9087570/367456 - 如果你需要更多的控制检查[PHPs * intl * library](http://php.net/manual/ EN/book.intl.php)。 – hakre
修好了,谢谢!道德:在尝试修剪字符串时总是使用mb_substr而不是substr –
@VansonWingLeung:这是一个基于DOMText的变体:https://3v4l.org/YOvKK#v500 - 只是表明有多种方法可以实现此目的。 XML扩展通常是可用的。 – hakre
我试着用支架打开它仅支持UTF-8,它给了一个错误。当你说它是utf-8并不意味着它是utf-8。源代码也应该输出或写入utf-8。我会检查生成页面的代码是否也是utf-8或输出utf-8。
重复http://stackoverflow.com/questions/279170/utf-8-all-the-way-through –
我不知道为什么,但[这说](https://richpreview.com/? url = http%3A%2F%2Fentrepreneur-times.com%2Fl%2Ftch%2Fblog%2F%3Fid%3D12)找不到您的元描述标记。也许它是由于UTF- *问题而错误生成的? – sgr12
更改你的字符集,doc级别希望能够做到这一点,可能要看起来更远......等等,等等......语言属性!会有帮助吗? – admcfajn