IOS URL中文亂碼問題解決方案
IOS 解決URL中文亂碼問題解決
在做一個(gè)HTTPS連接時(shí), 要客戶端合成一段HTTPS地址
如果地址含中文的話程序會(huì)crash, 檢查發(fā)現(xiàn)原來是中文沒有轉(zhuǎn)碼的原因
在NSString庫(kù)里面找到了下面兩個(gè)方法
- (NSString *)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)encoding - (NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)encoding
試了下, 有效
NSString* string1 = @"https://www.cloudsafe.com/文件夾"; NSString* string2 = [string1 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSString* string3 = [string2 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSString* string4 = [string2 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSString* string5 = [string3 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSString* string6 = [string4 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSString* string7 = [string5 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
輸出string1-7結(jié)果如下
string1:https://www.cloudsafe.com/文件夾 string2:https://www.cloudsafe.com/%E6%96%87%E4%BB%B6%E5%A4%B9 string3:https://www.cloudsafe.com/%25E6%2596%2587%25E4%25BB%25B6%25E5%25A4%25B9 string4:https://www.cloudsafe.com/文件夾 string5:https://www.cloudsafe.com/%E6%96%87%E4%BB%B6%E5%A4%B9 string6:https://www.cloudsafe.com/文件夾 string7:https://www.cloudsafe.com/文件夾
簡(jiǎn)單說下我是如何使用的:
在合成URL后, 給整個(gè)String轉(zhuǎn)碼兩次
NSMutableString *address = [[NSMutableString stringWithString:SetNiChengStringWithoutUserNameAndNiCheng] mutableCopy]; address = [[address stringByAppendingString:app.name] mutableCopy]; address = [[address stringByAppendingString:@"/"] mutableCopy]; address = [[address stringByAppendingString:_nameTextField.text] mutableCopy]; address = [[address stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] mutableCopy]; address = [[address stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] mutableCopy];
服務(wù)器端如何只是簡(jiǎn)單存儲(chǔ), 服務(wù)器接收數(shù)據(jù)后可以不用轉(zhuǎn)碼成中文
當(dāng)客戶端請(qǐng)求這部分?jǐn)?shù)據(jù)時(shí), 由客戶端自己解碼就好了
獲取到字串后解碼一次就可以正常顯示為中文了:
str = [str stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
iOS開發(fā)中以application/json上傳文件實(shí)例詳解
在和sever后臺(tái)交互的過程中、有時(shí)候、他們需要我們iOS開發(fā)者以“application/json”形式上傳,具體實(shí)例代碼大家參考下本文2017-07-07iOS-Mac配置Tomcat教程 Mac環(huán)境配置Tomcat教程
這篇文章主要介紹了iOS-Mac配置Tomcat教程,Mac環(huán)境配置Tomcat,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11深入講解iOS開發(fā)中的UIViewController
這篇文章主要介紹了iOS開發(fā)中的UIViewController,其中以UIViewController作為著重講解,需要的朋友可以參考下2015-09-09iOS實(shí)現(xiàn)漸變按鈕Gradient Button的方法示例
這篇文章主要給大家介紹了關(guān)于iOS實(shí)現(xiàn)漸變按鈕Gradient Button的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)各位iOS開發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-08-08iOS的CoreAnimation開發(fā)框架中的Layer層動(dòng)畫制作解析
在iOS中UIView層的屬性會(huì)映射到CoreAnimation框架的CALayer,這里我們來看一下iOS的CoreAnimation開發(fā)框架中的Layer層動(dòng)畫制作解析,需要的朋友可以參考下2016-07-07iOS 底部按鈕和應(yīng)用圖標(biāo)顯示未讀消息(帶數(shù)字)
本文主要介紹了iOS 底部按鈕和應(yīng)用圖標(biāo)顯示未讀消息的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-04-04