php网页抓取乱码(PP+MSS项设置的抓取)
优采云 发布时间: 2021-12-13 04:12php网页抓取乱码(PP+MSS项设置的抓取)
最近在做PHP爬取和PHP+MSSQL的结合。 啊。啊。 我在网上查到的资料很少。 这似乎是一个很大的麻烦。看看东边。向西看看。最后让我摆弄一些东西。 . (最近会有更多关于PHP+MSQL的信息出来:>)。说到点子上了。
PHP fetch 被取出。 获取新闻标题和新闻内容。一开始直接显示截取的标题和内容是没有问题的
php.ini中default_charset项设置是这样的:default_charset = "utf-8"
但只要抓住它并将其保存在数据库中。
此时出了点问题。
下面是加入数据库的函数
****************************************************php代码****************************************************** *****
函数 insert_db($title,$content,$lie)
{
$dsn ='DRIVER={SQL Server};SERVER=127.0.0.1;DATABASE=test';
$link=odbc_connect($dsn,'sa','admin') 或 die('eeeor');
odbc_exec($link,"insert into news(".$lie.",content)values('".$titile."','".$content."')");
odbc_close($link);
}
**************************************************** ****************************************************** ********************
但是我去数据库的时候,就惨了。都是乱码。 我在网上找到了 文章。 我看了一下,原来是因为文字编码的问题。
MSSQL 默认使用 Chinese_prc 规则编码和排序。但是我在PHP中设置了UTF-8,所以会出现乱码。但是我把php.ini的default_charset项设置为GB2312抓取的标题和内容,保存到MSSQL中,也是乱码。郁闷。别管这个。
由于编码错误。然后就统一了。 . .
使用如下函数: iconv() 对指定内容进行编码转换并返回编码后的内容。 . .
iconv("utf-8", "gb2312", $title) ;这样就将捕获的标题转换成MSQL保存。 看过了转换成功。一个滑溜溜的中文标题。没有乱码。 啊。啊。 . .
因为PHP是UTF-8,所以显示的时候应该是对应的。 . .
iconv("gb2312", "utf-8", $title) ;这样网页就可以正常显示内容了! ! !
搞定吧~!