私は PHP の専門家ではなく、ここで発生している問題を解決するのに苦労しています。
私がやっていることは、この URL からコア情報を引き出すことです: http://us.battle.net/wow/en/arena/kelthuzad/3v3/W%C3%BCstenfuchs%20zu%20gro%C3%9F/
AS3 では、チーム名から次の情報が得られます。
http://us.battle.net/wow/en/arena/kelthuzad/3v3/W%C3%BCstenfuchs%20zu%20gro%C3%9F/
では、これでいいです。URI をデコードすると、次のようになります。
http://us.battle.net/wow/en/arena/kelthuzad/3v3 /Wüstenfuchs zu groß/
私の問題は、AS3 から PHP に情報を送信するときに発生します。エンコーディングをそのまま使用していますが、何を試してもPHPはコードを正しく読み取っていません。これは出力です:
var9=http://us.battle.net/wow/en/arena/kelthuzad/3v3/Wüstenfuchs zu groÃ/
これをデコードしようとしても、まったく同じ出力が得られます。AS3 から既にデコードされた PHP に送信すると、上記と同じ結果が得られます。
AS3 の私のコードは次のとおりです。
var phpVars:URLVariables = new URLVariables();
phpVars.team = _team;
urlRequest.method = URLRequestMethod.POST;
urlRequest.data = phpVars;
urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
urlLoader.addEventListener(Event.COMPLETE, returnResult);
urlLoader.load(urlRequest);
PHPの私のコードは次のとおりです。
header("Content-type: text/html; charset=utf-8");
function updateData(){
$team2 = mysql_real_escape_string($_POST['team']);
echo("var9=".$team2);
$sql = "INSERT INTO title_test SET field1='$team2'";
mysql_query($sql);
}
これはデータベースに入れます:
http://us.battle.net/wow/en/arena/kelthuzad/3v3/Wüstenfuchs zu groß/
また、正しくエンコードされていないため、PHP 内で $team2 データを使用してクエリを実行しようとしても失敗していることにも注意してください。
ここで欠けているステップは何ですか?
編集:DBでutf-8が有効になっています。