Привет всем! Нужна помощь.
Вот в ходе работы над очередным проектом осознал, что всё, хватит низкоуровневых ajax-запросов и прочего...

В следущем обязательно перейду на jQuery ajax, поюзаю объекты в php и переведу базу в UTF...
Но пока всё так, как есть, поэтому сильно не пинать.
Суть проблемы: Есть контейнер, наполняется через ajax запрос.
Запрос стандартный:
function get_messages() {
if(mess_req) {
var preloader = document.getElementById("messenger_result"); //показываем
preloader.innerHTML = "<img src='images/preloader.gif' style='margin: 150px 0 0 200px;' alt=''>";
mess_req.onreadystatechange = get_messages_response;
mess_req.open("GET", "scripts/messenger.php", true);
mess_req.send(null);
return true;
} else {return false;}
}
Всё это идёт на сервер и обрабатывается. Там же присутствует функция для замены всех символов на их кодировки для безопасной работы:
function universal($string) {
$string = trim($string);
$string = stripslashes($string);
$string = htmlspecialchars($string);
$string = str_replace(">",">",$string);
$string = str_replace("<","<",$string);
$string = str_replace("/","/",$string);
$string = nl2br($string);
$string = str_replace("(","(",$string);
$string = str_replace(")",")",$string);
$string = str_replace('"',""",$string);
$string = str_replace("$","$",$string);
$string = str_replace("%","%",$string);
$string = str_replace("'","'",$string);
$string = str_replace("*","*",$string);
$string = str_replace(",",",",$string);
$string = str_replace("-","-",$string);
$string = str_replace("=","=",$string);
$string = str_replace("[","[",$string);
$string = str_replace("]","]",$string);
$string = str_replace("{","{",$string);
$string = str_replace("}","}",$string);
$string = str_replace("`","`",$string);
$string = str_replace("+","+",$string);
$string = str_replace("_","_",$string);
$string = str_replace("_","_",$string);
$string = str_replace("№","№",$string);
$string = str_replace("^","^",$string);
$string = str_replace(":",":",$string);
return $string;
}
Ну вот. Когда responseText приходит обратно - все хорошо, за исключением этих самых символов. Они в таком виде (
:
) и выводятся.
Недолго думая, сваял обратную функцию на js, что-то вроде:
function symbols(str) {
str = str.replace(/:/g,":");
return str;
}
Не работает. Зашел в тупик. Без преобразования всех этих символов мне их в базу совать, естессна нельзя.
P.S. Хотя другие варианты по защите от sql-injection и прочего - приму с удовольствием. Спасибо.
