2009-10-07 5 views
0

"+1234987 ...."형식으로 MYSQL 테이블에 휴대폰 번호를 저장하려고하는데 숫자를 저장하면 '+'기호가 공백으로 바뀝니다. .jquery mysql, php에서 저장하는 특수 문자

나는 다음과 같은 코드를 사용하고 있습니다 :

var mobile  = $('#mobile').attr('value'); 
$.ajax({ 
type: "POST", 
url: "save_process.php", 
data: "mobile="+ escape(mobile) , 
//data: "mobile="+ mobile , 
success: function(html){ 
if (html==1){ 
$('div.saving').hide(); 
$('div.success').fadeIn(); 
} 

나는 함께하고 escape()없이 모두 시도 - 같은 결과입니다. '+'기호로 저장하려면 어떻게해야합니까?

감사

답변

2

'모바일 = "+ 탈출 (모바일)

escape는 URI 파라미터를 인코딩하기 위해 사용하는 잘못된 함수이다. 이것은 URL 인코딩과 비슷하지만 실제로는 다른 웹 표준이 아닌 특별한 JavaScript 전용 인코딩 체계입니다. 그것은 비 ASCII 문자의 처리가 다르며, 더하기 기호라고 추측합니다.

사실 언제나 무엇이든 사용하는 것은 잘못된 기능이며 사용자가 볼 때마다 즉시 의심해야합니다. encodeURIComponent이 발명되기 전에는 Netscape 시대의 URL 인코딩에 사용되었지만 그때까지는 완전히 깨졌습니다.

"mobile="+ encodeURIComponent(mobile)