小弟我用php连接mssql的时候,在查询某个数据的字段时,发现只得到了该字段一部分内容。
该字段在数据中的类型为text,我用的是pdo连接数据库.....我的测试代码如下:$db=new PDO("mssql:host=localhost;dbname=t001",'trssj','trssj');
$result=$db->query("select * from ddiurnal where idd=827900");
foreach ($result as $row){
foreach ($row as $k=>$val){
echo iconv("gb2312",'utf-8',$val);
//echo $val;
echo "---------------------------------------";
}
}
该字段在数据中的类型为text,我用的是pdo连接数据库.....我的测试代码如下:$db=new PDO("mssql:host=localhost;dbname=t001",'trssj','trssj');
$result=$db->query("select * from ddiurnal where idd=827900");
foreach ($result as $row){
foreach ($row as $k=>$val){
echo iconv("gb2312",'utf-8',$val);
//echo $val;
echo "---------------------------------------";
}
}
2:是不是text字段内容有些特殊字符造成text内容截断?
把
echo iconv("gb2312",'utf-8',$val);
改成
echo iconv("gb2312",'utf-8//IGNORE'',$val);
echo iconv("gb2312",'utf-8//IGNORE',$val);
如果我把iconv这个函数干掉,我不对他进行转码,他还是一样的只显示一部分数据后面没有什么的特殊字符我以为同事说这是pdo连接的一个bug,这个是网址:
http://bugs.php.net/bug.php?id=38805&edit=3
好象有个4048吧还是多少,记的不是很清楚了,把他改的大大的,就好了
$db->query($sql);返回的是一个BOOL对象吧
php.ini; Valid range 0 - 2147483647. Default = 4096.
;mssql.textlimit = 4096
mssql.textlimit = 147483647; Valid range 0 - 2147483647. Default = 4096.
;mssql.textsize = 4096
mssql.textsize = 147483647
我在用到iconv函数,把从数据库得到的gb2312数据转换为utf-8的时候,有时候遇到某一字之后,信息就会断了,就像今天的这样, 数据从开头到了"是新华社主管、",后面就没有了,可是我在数据库还有"社背景(财经国家周刊》是新华社主管、瞭望周刊社主办的深度财经周刊),很难让人认为只是一个巧合?",转换时候到了"瞭望"的前面就报
<b>Notice</b>: iconv() [<a href='function.iconv'>function.iconv</a>]: Detected an illegal character in input string in<b>D:\wamp\www\data_flex\application\controllers\helper\GlobalFun.php</b> on line <b>399</b><br /> 的错误信息??????? 请问大侠们,这是不是遇到了特殊的字符,iconv这个函数转换不了,就报错了.......
select lb_id,convert(text,news_subject) as news_subject sql语句这样写转成text
我用的是 php_mssql.dll ,找个最新的应该没问题的
社背景(财经国家周刊》是新华社主管、瞭望周刊社主办的深度财经周刊),
很难让人认为只是一个巧合?
的瞭这个字居然转换为了t
请问大侠这个是什么原因?????
echo iconv('gb2312', 'utf-8', $str);//社背景(财经国家周刊》是新华社主管、
echo iconv('gb2312', 'utf-8//IGNORE', $str); //社背景(财经国家周刊》是新华社主管、t望周刊社主办的深度财经周刊)echo iconv('gbk', 'utf-8', $str);//社背景(财经国家周刊》是新华社主管、瞭望周刊社主办的深度财经周刊)