编程语言
首页 > 编程语言> > php – 正确的字符编码显示“—?

php – 正确的字符编码显示“—?

作者:互联网

我有一些讨厌的字符编码问题,我无法弄清楚.

基本上,我是使用PHP从网站上抓取一些HTML,然后通过PHP的DOMDocument运行它来更改一些URL等等,当它完成后,它会输出一些奇怪的东西.例如:应该有一个结束语,它会发出& acirc;€

我将charset的页面元标记设置为utf-8,然后是& acirc;€字符在网站上显示为“.”.我不确定我是不是不理解字符编码,或者是什么.

有关解决此问题的最佳方法的任何建议吗?客户端是否有元标记或某种服务器端PHP转换?

解决方法:

有时在HTML或响应头中设置charset是不够的.如果您的服务器上没有为UTF-8设置所有内容,那么您的文本可能会在整个过程中被错误地转换.您可能需要在其配置文件中为Apache和PHP启用UTF-8编码. (如果您没有使用Apache,请尝试跳过该步骤.)

Apache UTF-8设置:

编辑您的charset.conf(理想)或httpd.conf文件,方法是将此行添加到结尾:

AddDefaultCharset utf-8

(如果您无权访问Apache的配置文件,则可以使用相同的代码在HTML的根目录中创建“.htaccess”文件.)

PHP UTF-8设置:

编辑php.ini文件,搜索“default_charset”,并将其更改为:

default_charset = "utf-8"

重启Apache:

根据您的服务器类型,此命令可以通过命令行执行此操作:

sudo service apache2 restart

标签:php,character-encoding,utf-8,domdocument,screen-scraping
来源: https://codeday.me/bug/20191007/1869426.html