-1
4

1 に答える 1

1

echo $row['data'];データは Windows-1252 にあり、ページのヘッダーも Windows-1252 にあります。UTF-8 への変換は不要です。

データが windows-1252 にあるencoding="UTF-8"ことに気づかず、xml に設定している場合は、.xml に設定する必要がありますencoding="Windows-1252"


UTF-8 を使用する場合は、最初に接続を UTF-8 に設定する必要があります。

mysql_set_charset( "utf8" );
// or $mysqli->set_charset( "utf8" );

クエリを実行する前に。

その後、http ヘッダーを修正する必要があります。

<?php
header( "Content-type: application/xml; charset=utf-8");

そしてもちろん、呼び出しませんutf8_decode自分が何をしているのか本当にわからutf8_decodeないutf8_encode限り、絶対に電話しないでください。まず第一に、これらの関数は ISO-8859-1->UTF-8 (およびその逆) 変換で動作します (実際には Windows-1252 であるブラウザーの "ISO-8859-1" ではなく、実際の ISO-8859-1 です)。魔法のユニコードワンドではありません。

utf-8 ルートを使用したい場合は他にもやるべきことがたくさんありますが、これらの 2 つは当面の問題を解決します。

于 2012-12-10T16:23:02.163 に答える