Насколько я знаю, HTTP-запросы Actionscript будут изначально кодироваться в UTF-8.
У меня это работает для испанских символов:
var url:String = "historia.php";
var request:URLRequest = new URLRequest(url);
var requestVars:URLVariables = new URLVariables();
var now:Date = new Date();
requestVars.historia = "áóíúéñÁÓÍÚÉÑ";
request.data = requestVars;
request.method = URLRequestMethod.POST;
var urlLoader:URLLoader = new URLLoader();
urlLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.TEXT;
urlLoader.load(request);
А на стороне PHP (возобновлено для ясности):
header ('Content-type: text/html; charset=utf-8');
if(isset($_POST['historia']) {
$historia = mysql_real_escape_string(utf8_decode($_POST['historia']));
$historia = filter_var($historia, FILTER_SANITIZE_STRING);
// insert into DB...
}
Я использую utf8_decode()
, потому что база данных не настроена с кодировкой UTF-8
.
Как вы обрабатываете запрос на стороне сервера? Возможно, проблема лежит на стороне сервера.