我远非 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/
现在,这很好。如果我 decodeURI 它,它会给我:
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 数据进行查询,该数据也失败了,因为它没有正确编码。
我在这里缺少什么步骤?
编辑:在数据库上启用了 utf-8。