php读取mssql中文乱码,php读取/写入mssql乱码!

最近在做PHP抓取,PHP+MSSQL的搭配。。呵。呵。。网上找了找资料好少。。看来是个大冷门呐。东看一下。西看一下。总算让我给鼓捣点东西出来。。(最近会陆续会有PHP+MSSQL方面的资料出来哦:>)。进入正题。

PHP抓取是抓取出来了。。抓取新闻标题和新闻内容。一开始是把抓取到的标题和内容直接显示出来没有什么问题

php.ini中default_charset 项设置是这样的:default_charset = "utf-8"

但是光抓取下来得存入数据库呐。

这时候出问题了。

下面是加入数据库函数

*********************************************php code*******************************************************

function insert_db($title,$content,$lie)

{

$dsn ='DRIVER={SQL Server};SERVER=127.0.0.1;DATABASE=test';

$link=odbc_connect($dsn,'sa','admin') or 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) ;这样把抓到的标题转换一下存入MSSQL。。看了一下哈。。转换成功。一溜的中文标题。没有任何乱码。。呵。呵。。。

由于PHP是UTF-8那么显示的时候要对应哦。。。

iconv("gb2312",   "utf-8", $title) ;这样就可以在网页上显示正常的内容喽!!!

搞定~!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值