<?PHP $serverName = "192.168.2.251,2434"; $connectionInfo = array( "Database"=>"jfdf40", "UID"=>"sa", "PWD"=>"932kj"); $conn = sqlsrv_connect( $serverName, $connectionInfo ); if( $conn === false ) { die( print_r( sqlsrv_errors(), true)); } //$stmt = sqlsrv_query( $conn, 'SET TEXTSIZE 80000' ); $sql = "SELECT msg FROM test"; $stmt = sqlsrv_query( $conn, $sql ); if( $stmt === false) { die( print_r( sqlsrv_errors(), true) ); } while ( sqlsrv_fetch( $stmt)) { $comments = sqlsrv_get_field( $stmt, 0, sqlSRV_PHPTYPE_STREAM(sqlSRV_ENC_BINARY)); //echo get_resource_type ($comments); $contents = ''; while (!feof($comments)) { $contents .= fread($comments, 8192); } $s = (mb_convert_encoding(($contents), 'utf-8', 'gbk')); echo $s . PHP_EOL; echo mb_strlen($s); echo "\n"; }
mssql 一般在我们中国默认排序规则都是 Chinese_PRC_CI_AS
sELECT DATABASEPROPERTYEX('databasename', 'Collation') sqlCollation; SELECT COLLATIONPROPERTY('Chinese_PRC_CI_AS', 'CodePage')
PHP在linux 下连接mssql 读取中文会有问题,这里采用流读取的方式以2进制形式读回来。再把gbk转成utf-8就可以了
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。