瀏覽器自動轉換URL編碼產生亂碼問題

2021-09-20 18:41:15 字數 797 閱讀 1492

如果**中含有漢字,瀏覽器會自動將其轉換成url編碼,而在接收端,它又自動轉換回來。

大部分時候都沒什麼問題,但有時候就很討厭。因為生成這種url編碼,編碼時的字符集和解碼字符集不一定相同,比如編碼時用gb2312,解碼用utf-8,就出現亂碼。

這個時候,提取到的引數,自然就亂。

解決之道是不要用request.querystring來提取,而是用request.rawurl來獲取。後者是原始url,沒有自動解碼的。自己獲取,自己處理。

//scode = request.querystring["word"];

int p = request.rawurl.indexof("word=");

string scode = request.rawurl.substring(p + 5);

如果**中含有漢字,瀏覽器會自動將其轉換成url編碼,而在接收端,它又自動轉換回來。

大部分時候都沒什麼問題,但有時候就很討厭。因為生成這種url編碼,編碼時的字符集和解碼字符集不一定相同,比如編碼時用gb2312,解碼用utf-8,就出現亂碼。

這個時候,提取到的引數,自然就亂。

解決之道是不要用request.querystring來提取,而是用request.rawurl來獲取。後者是原始url,沒有自動解碼的。自己獲取,自己處理。

//scode = request.querystring["word"];

int p = request.rawurl.indexof("word=");

string scode = request.rawurl.substring(p + 5);

瀏覽器自動轉換URL編碼產生亂碼問題

如果 中含有漢字,瀏覽器會自動將其轉換成url編碼,而在接收端,它又自動轉換回來。大部分時候都沒什麼問題,但有時候就很討厭。因為生成這種url編碼,編碼時的字符集和解碼字符集不一定相同,比如編碼時用gb2312,解碼用utf 8,就出現亂碼。這個時候,提取到的引數,自然就亂。解決之道是不要用requ...

瀏覽器自動轉換URL編碼產生亂碼問題

如果 中含有漢字,瀏覽器會自動將其轉換成url編碼,而在接收端,它又自動轉換回來。大部分時候都沒什麼問題,但有時候就很討厭。因為生成這種url編碼,編碼時的字符集和解碼字符集不一定相同,比如編碼時用gb2312,解碼用utf 8,就出現亂碼。這個時候,提取到的引數,自然就亂。解決之道是不要用requ...

瀏覽器URL編碼

1 瀏覽器編碼 ie6.0及以前版本,通過在位址列裡輸入url時,使用的預設編碼是gbk ie7.0 ie8版本,通過在位址列裡輸入url時,使用的預設編碼是utf 8,也可以在工具 高階選項裡修改 2 中文引數編碼例項 string version request.getheader user a...