>백엔드 개발 >PHP 튜토리얼 >php连接access数据库编码问题

php连接access数据库编码问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-23 14:16:461103검색

php连接access数据库,编码为utf-8时输出报错,用gbk正常。
可是我现在必须要用utf-8,请问怎么办?数据库还是用access!

$gets=$_GET['sid'];$connstr="DRIVER=Microsoft Access Driver (*.mdb);DBQ=".realpath("music.mdb");$conn=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC );header("Content-type:text/xml"); echo '<?xml version="1.0" encoding="gbk" ?>';echo '<veryhdmtvlist>';$sql = "select * from mtv_music where sid=$gets order by musicid";$rs = odbc_do($conn,$sql);echo '<pageinfo recordcount="160" pagecount="10" pagesize="16" pageindex="1"/>';echo '<mtvlist>';while(odbc_fetch_array($rs)){		$field_0=odbc_result($rs,"musicid");$field_1=odbc_result($rs,"sid");$field_2=odbc_result($rs,"musicname");echo "<mtv mtvid='$field_0' sid='$field_1' singer='' name='$field_2' pic='' link='http://192.168.253.34:102/play.php?vid=$field_0'/>";}odbc_close($conn);echo '</mtvlist>';echo '</veryhdmtvlist>';


回复讨论(解决方案)

不明白为什么一定要用 utf-8 编码,自找麻烦?
你有 echo '';
连输出都是 gbk 的,那么 utf-8 的作用体现在那呢?

嗯,如果你需要输出 utf-8 的 xml 就这样写

....iconv_set_encoding("internal_encoding", "GBK"); //这是新加的iconv_set_encoding("output_encoding", "UTF-8"); //这是新加的ob_start("ob_iconv_handler"); //这是新加的header("Content-type:text/xml"); echo '<?xml version="1.0" encoding="utf-8" ?>'; //这里改成 utf-8 字符集echo '<veryhdmtvlist>'; $sql = "select * from mtv_music where sid=$gets order by musicid";$rs = odbc_do($conn,$sql);echo '<pageinfo recordcount="160" pagecount="10" pagesize="16" pageindex="1"/>';echo '<mtvlist>'; while(odbc_fetch_array($rs)){        $field_0=odbc_result($rs,"musicid");$field_1=odbc_result($rs,"sid");$field_2=odbc_result($rs,"musicname");echo "<mtv mtvid='$field_0' sid='$field_1' singer='' name='$field_2' pic='' link='http://192.168.253.34:102/play.php?vid=$field_0'/>";}odbc_close($conn);echo '</mtvlist>';echo '</veryhdmtvlist>';

编码一致,才不会出现问题。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:php验证显示内容다음 기사:PHP发送微博失败