解決辦法如下:
1.用ASCII碼替換百分號(hào)和與符號(hào)
var remark = $("#remark").val(); remark.replaceAll("ASCII69","%").replaceAll("ASCII70","&");//展示時(shí)需要對原先替換的進(jìn)行還原展示remark.replaceAll("%","ASCII69").replaceAll("&","ASCII70");
2.在jquery中用編碼轉(zhuǎn)換來實(shí)現(xiàn)百分號(hào)的保存
//encodeURI() 函數(shù)可把字符串作為 URI 進(jìn)行編碼。//對以下在 URI 中具有特殊含義的 ASCII 標(biāo)點(diǎn)符號(hào),encodeURI() //函數(shù)是不會(huì)進(jìn)行轉(zhuǎn)義的: , / ? : @ & = + $ var uri="my test.php?name=%fff&car=saab#&";document.write(encodeURI(uri)+ "<br>");
結(jié)果為:
my%20test.php?name=%25fff&car=saab#&
這里將百分號(hào)編碼為 %25
//decodeURI() 函數(shù)可對 encodeURI() 函數(shù)編碼過的 URI 進(jìn)行解碼。//提示: 使用 encodeURI() 函數(shù)可以對 URI 進(jìn)行編碼。encodeURIComponent() 函數(shù)可把字符串作為 URI 組件進(jìn)行編碼。
該方法不會(huì)對 ASCII 字母和數(shù)字進(jìn)行編碼,也不會(huì)對這些 ASCII 標(biāo)點(diǎn)符號(hào)進(jìn)行編碼: - _ . ! ~ * ' ( ) 。
其他字符(比如 :;/?:@&=+$,# 這些用于分隔 URI 組件的標(biāo)點(diǎn)符號(hào)),都是由一個(gè)或多個(gè)十六進(jìn)制的轉(zhuǎn)義序列替換的。
var uri="http://w3cschool.cn/my test.php?name=ståle&car=saab";document.write(encodeURIComponent(uri));//結(jié)果展示:http%3A%2F%2Fw3cschool.cn%2Fmy%20test.php%3Fname%3Dst%C3%A5le%26car%3Dsaab //decodeURIComponent() 函數(shù)可對 encodeURIComponent()// 函數(shù)編碼的 URI 進(jìn)行解碼。//提示:使用 encodeURIComponent() 方法可以對 URI 進(jìn)行編碼。
總結(jié)
以上所述是小編給大家介紹的js input輸入百分號(hào)保存數(shù)據(jù)庫失敗的解決方法,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
新聞熱點(diǎn)
疑難解答
網(wǎng)友關(guān)注