php网页抓取乱码( 网页乱码是最让人气恼的一件事,是否会感觉特别慌乱,有么有 )
优采云 发布时间: 2021-10-07 08:23php网页抓取乱码(
网页乱码是最让人气恼的一件事,是否会感觉特别慌乱,有么有
)
网页上的乱码是最烦人的。
修改好页面后,发现所有字符都是乱码。你有没有特别心慌?有没有!
接下来,我们将永远分析解决网页乱码问题,再也不用担心乱码了。
在此之前,有必要强调一点:首先我想强调一点,如果你修改网页的时候不小心改了乱码,千万不要保存!
如果点击保存,一定不要关闭编辑器,一定要撤销(常用的快捷键是Ctrl+Z),
除此以外:
既然有时间恢复那些蝌蚪,何不买彩票呢?
进入正题:任何乱码无非就是这五种情况之一:1:Head Meta属性;
2:网页文件编码;
3:数据库内容;
4:数据库结构;
5:连接数据库时的编码方式;
首先,确定自己网页的编码。一般大部分中文网页都是UTF-8或者GB2312也有Unicode的(以下都是以UTF-8为例)
不管你用的是三剑客的Dreamweaver还是Editplus,打开文件,查看->编码->选择“UTF-8”,看看乱码现象是否解决,
1): 解决,修复header Meta属性,请在页面添加这句话统一编码
浏览该属性的页面时,点击Ctrl+U查看源码,header中应该有这个Meta属性
添加 header("Content-type: text/html; charset=utf-8"); PHP动态页面中同样的效果
2):无解,修改文件编码,请使用EditPlus或DW打开修改页面编码。DW 中的页面属性具有编码选项。EditPlus:文档 -> 文件编码 -> 更改文件编码 -> "UTF-8"
可以解决非数据库内容乱码的问题
没解决的会继续往下看。第3点主要是消除乱码和数据库内容的可解析性;
由于上面的Meta和文件编码更正无法解决,只好专注于数据库,
第一步是检查数据是否不可修复。
使用PHPMYADMIN或者直接使用shell命令查看数据内容,看是否乱七八糟。有必要解释一个残酷的事实。如果数据库内存是“蝌蚪文本”,无论怎么转换都是“蝌蚪文本”,无法修复。的。这也是我强调不要保存顶部静态乱码的原因,因为乱码可能是显示器造成的。保存后,完整的数据变得无法识别。
数据库结构,数据库编码必须与网页编码一致,检查数据库的编码格式,如果不一致请修改:
更改my.ini文件中的配置值(该文件在mysql安装目录下)。有两个地方要改,修改成需要的编码格式,然后把之前创建的表删除,然后重新创建,然后插入诸如汉字格式的字段,就不再提示错误信息了。如果有PHPMYADMIN,那就方便多了。通过可视化的数据库管理界面,您可以直接在结构中修改编码属性。
关于改变数据库编码,这里有必要强调一下:编码不是一个地方,而是三个地方!
数据库编码、表格编码、字段编码为最佳策略;字段编码细节,int类型boolean类型timestamp类型等不需要改动,主要是修改varchar、text等数据类型字段的编码。
有人说安装mysql后,在配置MySql Server时,如果修改默认编码格式,将默认latin1改为gb2312或者utf8,然后创建数据库表,中文就可以正常存储和显示了。听说这是对付中国人的常用方式
数据库编码不方便更改。我该怎么办?如果不改,需要转码 iconv("UTF-8","gb2312",$str); 事情,数据库内容量大时的权衡。
您是否发现像手掌一样对数据库进行编码是关键?您需要知道您的数据库默认采用哪种编码。
连接数据库时的编码方式,以PHP为例,检查连接数据库的地方是否有这句话,如果没有请添加
添加 mysql_query("SET NAMES'UTF8'");
这句话很重要,绝对可以解决数据库数据的乱码现象。
还有一个非技术性的解决方法:如果打开网页出现乱码,请尝试修改浏览器的页面编码,如GB2312或UTF-8;可能页面不乱吧~