一堆encode方法,搞不清楚用的時機嗎
嗯 我承認我記不起來...
常見問題
GET傳送中文時會變成亂碼
用Big5編碼透過URL傳送GET不會有問題,但是如果使用UTF8編碼您會發現中文都會變成亂碼,這時候您要使用GET傳送時,必須先使用urlencode將要傳送的資料加密,這樣傳送中文則會正常。
嗯 我承認我記不起來...
- base64encode
將資料利用64個字母(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
)來表達,具不可讀性
標準的Base64並不適合直接放在URL裡傳輸,因為URL編碼器會把標準Base64中的「/」和「+」字元變為形如「%XX」的形式,而這些「%」號在存入資料庫時還需要再進行轉換,因為ANSI SQL中已將「%」號用作通配符。 - urlencode
看完base64encode的問題,就應該瞭解為何需要urlencode了。urlendcode會轉成%XX - htmlentities
如果要在網頁上出現html碼,就要透過htmlentities編碼
也就tag的大於會變成%lt;,小於會變成%gt;
decode: html_entity_decode()
*htmlentities跟htmlspecialchars幾乎一樣,但htmlentities也會把中文轉成成html的東西,所以要注意
常見問題
GET傳送中文時會變成亂碼
用Big5編碼透過URL傳送GET不會有問題,但是如果使用UTF8編碼您會發現中文都會變成亂碼,這時候您要使用GET傳送時,必須先使用urlencode將要傳送的資料加密,這樣傳送中文則會正常。
沒有留言:
張貼留言