ホームページ > バックエンド開発 > PHPチュートリアル > PHP接続アクセスデータベースのエンコードの問題

PHP接続アクセスデータベースのエンコードの問題

WBOY
リリース: 2016-06-23 14:16:46
オリジナル
1073 人が閲覧しました

エンコーディングが utf-8 の場合、PHP がアクセス データベースに接続してエラーを出力します。gbk を使用する場合は正常です。
しかし、今は utf-8 を使用する必要があります。どうすればよいでしょうか?データベースはまだアクセスを使用しています。

$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>';
ログイン後にコピー

エンコーディングが一貫していれば問題はありません。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート