url 裡的中文問題

2022-08-24 14:03:09 字數 969 閱讀 9684

自從幹起了程式設計師這檔子事,發現自己資料夾、檔案 什麼的命名都習慣是使用英語。 這其實也是在開發的時候給自己一點方便罷了。但是,事情總是會有那麼糾結的時候,有時候,即使你自己使用的路徑不包含中文,那也不能保證別人給的路徑中就沒得中文啊,那天在群裡碰到一哥們,她們後台給出的介面就是包含中文的,於是乎,蛋蛋碎了一地。這個病,得治,於是,救星來了,

nsstring *oldurl = @"/。。//" ;

nsstring *newurl =(__bridge nsstring *)cfurlcreatestringbyaddingpercentescapes(kcfallocatordefault, (cfstringref)oldurl, null,  cfstr(":/?#@!$ &'()*+,;=\"<>%{}|\\^~`"), cfstringconvertnsstringencodingtoencoding(nsutf8stringencoding));

oldurl 這個字串是你原始的路徑,裡邊包含中文,然後經過 cfurlcreatestringbyaddingpercentescapes 方法處理之後,就形成了乙個新的路徑,這個路徑其實還是你原來的路徑,只是,他幫你做了處理,將中文路徑轉換成了計算機可以識別的字串而已,就像是你穿了新衣服,人家沒認出你,於是,你老婆給你弄了件舊衣服,這個件舊衣服呢,很多人都知道你曾經穿著,這次穿出去,兄弟們老遠就認出你來了,就是那個慫樣,那麼個熟悉的味道!

話說回來,為什麼中文路徑無法識別,大概可以這麼想,中文編碼應該是  unicode 編碼,但是計算機之後識別因為,於是,他就講中文解碼,按什麼方式,我就不是很熟悉,看它預設吧,這億解碼出來,就是  unicode的 實際編碼 ,比如什麼\u.....  \u .....  中文字元都別轉成了實際的編碼文字,於是乎,計算機去訪問的路徑就...../ \u...\u..../.....。也就是說,去尋找資源的路徑已經發生了錯誤,所以你怎麼也找不到你要的東西。

最後,提醒自己,別怕麻煩,盡量用因為命名吧,是在不行,用拼音也行啊!

url中文編碼問題

1.url該編碼的編碼一定要編碼,否則如果存在空格就會報400錯誤,那麼什麼樣的url是該編碼的呢?url中有空格等特殊字元的 url中有中文的2.編碼要只對引數編碼,不要對整個url進行編碼,因為如果對整個url編碼的話會把url中的 等字元也進行編碼了 3.使用urlencoder.encode...

中文路徑問題,中文url

在使用rails的webrick過程中碰到中文url問題,原本認為很簡單的事情其實並不簡單。為了了解中文路徑問題,特別在apache,iis下面做了試驗。過程如下 首先要準備好gb2312和utf 8的檔名。這裡使用python來獲得。s gb 我.txt print s gb 我.txt s gb...

url傳遞中文亂碼問題

通過鏈結傳遞引數值是中文時,會有2個問題 頁面採用utf 8格式 1 中文亂碼,在action接值時轉碼即可 使用new string str.getbytes iso 8859 1 utf 8 2 傳遞的中文引數後面還有其他引數,此時頁面 查詢其中 查詢條件search name 張三 後面npa...