Я не могу сейчас смотреть на таблицы mysql ... но я не думаю, что «+» делает это в таблице.Плюс знак исчезает на стороне сервера?
Я проверил magic_guotes
и включен. Однако magic_quotes не должен ничего делать с знаком «+», поскольку он относится только к экранированию символов, используемых базой данных.
Кроме того, я проверил свой regular expressions
на клиенте и сервере (javascript и php), и нет ничего, чтобы удалить знаки «+».
Я также использую htmlentites()
, но я не верю + является сущностью html, и даже если бы это было, это должно было сделать ее суставной сущностью, чем характер.
Это оставляет json_encode
, но я был в состоянии повторить символы перед клиентом перед кодированием и все еще мог видеть, что знак «+» не был.
Я проверил все 5 мест и не могу определить, куда идет мой знак +. Кажется, база данных mysql возвращает пространство, где должен быть знак +.
Ajax Serialize
function ajax_serialize(form_name)
{
var return_string='',
form_elements=document.forms[form_name].elements,
iterator;
for(iterator = 0; iterator < form_elements.length; iterator++)
{
if(form_elements[iterator].name)
{
if(form_elements[iterator].type === 'checkbox' && form_elements[iterator].checked === false)
{
return_string += form_elements[iterator].name + "=0&";
}
else
{
return_string += form_elements[iterator].name + "=" + form_elements[iterator].value+"&";
}
}
}
return_string = return_string.slice(0, -1);
return return_string;
}
Ajax Tweet
function interface_tweet()
{
var form_name = 'tweet',
response_div = form_name + '_response',
tw_text = new Text(form_name),
tw_message = new Message(response_div);
if(Constant.VALIDATE_ON === 1)
{
if(!tw_text.checkEmpty())
{
tw_message.display('empty');
return;
}
if(!tw_text.checkPattern('tweet'))
{
tw_message.display('tweet');
return;
}
}
Ajax.repeatUseAjaxObject(Constant.GATEWAY, ajax_serialize('tweet') + '&ajax_type=ControlTweet_add' , ajax_tweet ,'tweet_fill');
document.getElementById('tweet_input').value='';
document.getElementById('tweet_response').innerHTML='';
}
** Я не могу смотреть на таблицы mysql прямо сейчас ... но я не думаю, что «+» делает это в таблице. ** Вы должны вернуться, когда сможете ... – deed02392
Вы отправляете это '+' из формы или откуда вы ее взяли? Если вы пытаетесь отправить данные с помощью «+» из формы с помощью ajax или любого вида javascript, вы должны использовать encodeURIComponent для данных (jQuery делает это автоматически, если вы используете его в правильном направлении) – Cheery
I ajax опубликовал его из формы –