在javascript代碼中用encodeURIComponent()函數處理中文字串,<br />JS代碼:<br /><mce:script type=”text/javascript”><!--<br />string = encodeURIComponent(string);<br />location.href = index.php?keyword=’+string;<br />// --></mce:script><br />PHP代碼:<br /><?php<br />$keyword = (isset($_GET['keyword'])) ? $_GET['keyword'] : '';<br />?><br />保證JavaScript和Asp、Php等後端程式間傳值編碼統一<br />在非英文字元集的頁面上,如果使用Ajax方式進行資料互動的話,<br />就必須要注意保證前後端資料的統一編碼,否則,很容易就出現亂碼!<br />在後端是ASP程式的情況下,保持前端Javascript和Asp之間傳值的統一編碼可以使用以下函數進行處理: </p><p>編碼:escape(string)<br />解碼:unescape(string)<br />這兩個函數在JavaScript和Asp裡都存在,而且功能完全一樣,<br />只要任何一端向另一端傳資料,都先用escape進行編碼,<br />接收的一端用unescape進行解碼即可保證Javascript和Asp資料傳遞過程中不會出現亂碼! </p><p>在後端是PHP程式的情況下,保持前端Javascript和PHP之間傳值的統一編碼可以使用以下函數進行處理:<br />WEB前端JavaScript<br />編碼:encodeURI(string)<br />解碼:decodeURI(string)<br />WEB後端Php<br />編碼:urlencode(string)<br />解碼:urldecode(string)<br />同樣,傳值的時候使用相應的編碼函數encodeURI或urlencode,<br />接收的時候使用相應的解碼函數decodeURI或urldecode,<br />即可保證Javascript和Php資料傳遞過程中不會出現亂碼!<br />在WEB前端Javascript解碼,Php裡urlencode編碼的資料時,可能需要使用兩次解碼,如:<br />unescape(decodeURI(string))<br />unescape用來解一些非字元類的文字,如標點符號等等。