ios url中帶中文的解決方案
蒐集資料整理後得出解決方法:
一,使用NSString的方法:
NSString* string2 = [string1 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
//這個方法在驗證時出錯,慎用
NSString* string1 = [string2 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
二、使用CFStringRef的方法
sUrl = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)sUrl, nil, nil, kCFStringEncodingUTF8);
如果在所有的類裡都要用到這個方法,可以寫成category,然後在標頭檔案import "NSString+URL.h" 即可呼叫.
.h檔案:
@interface NSString (URL)
- (NSString *)URLEncodedString;
@end
.m檔案:
#import "NSString+URL.h"
@implementation NSString (URL)
- (NSString *)URLEncodedString
{
NSString *encodedString = (NSString *)
CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(CFStringRef)self,
(CFStringRef)@"!$&'()*+,-./:;
NULL,
kCFStringEncodingUTF8);
return encodedString;
}
@end
但上述兩個方法,都不會處理URL中的保留字元,如果要處理保留字元,推薦使用Google的objective c 工具庫 GTMNSString+URLArguments來處理:
http://code.google.com/p/google-toolbox-for-mac/source/browse/trunk/Foundation/GTMNSDictionary%2BURLArguments.h
相關推薦
ios url中帶中文的解決方案
蒐集資料整理後得出解決方法: 一,使用NSString的方法: NSString* string2 = [string1 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; //這個方法在
nginx url中帶中文不能訪問
title: nginx url中帶中文不能訪問 date: 2017-12-18 16:29:00 categories: - Android tags: - nginx - shell - 前端 解決nginx 部署,url中帶中文不能訪問 利用rz命令上傳w
iOS URL中含有中文和轉義字元時的處理
今天發現一個蛋疼的問題,服務端返回的urlString裡面有時含有中文,使用 [NSURLURLWithString:urlString]生成URL物件時,iOS客戶端不能正確進行網路請求,網上找到的URLEncode方法又不能完全解決問題. 方法1: NSS
在ios開發中資料庫升級解決方案
在iOS開發中,經常會用到sqlite,在app迭代過程中,可能會有需求變更,需求的改變可能會影響資料庫結構的改變;那麼在不丟失原有資料的同時,又要修改資料庫結構,就要進行資料遷移。 我的做法是本地儲存一個app版本號,每次app啟動都會與Info.plist裡面的版本號比
URLEncoder和URLDecoder;cookie中儲存特殊字元以及URL中亂碼問題解決方案
cookie的特殊字元的編碼和解碼來解決亂碼問題; 編碼: protected void doGet(HttpServletRequest request, HttpServletRespo
ios url中含有中文問題
1 使用 stringByAddingPercentEncodingWithAllowedCharacters 例如:使用方法 NSURL *url = [NSURL URLWithString:[valueString stringByAddingPerc
在URL中傳遞中文引數時傳遞失敗的解決方案
環境:Tomcat 問題描述:使用 <a> 標籤的 herf 來傳遞頁面的引數時,英文正常,中文失敗 原因分析:使用 Tomcat 在URL中傳遞引數,是通過 HTTP 報頭來傳
spring mvc中關於url中傳遞中文亂碼的解決方法
般的 har rac color nco bytes utf8 int span 在傳值過程中,也是亂碼出現的頻繁地。先不說到底是什麽場景了,通常常用的方案有如下幾個 配置指定的filter <!-- 配置請求過濾器,編碼格式設為UTF-8,避免中文亂碼-->
iOS開發 字串中帶中文的注意!!!
說一下我自己遇到的問題吧,歡迎評論增加! 1、使用AFNetworking下載檔案,下載連結中包含中文,下載失敗 解決方法:除正常校驗下載連結外,增加一個編碼的過程 NSCharacterSet *characterSet = [NSCharacterSet URLQueryAllo
在Winform中遮蔽UnityWebPlayer的右鍵以及自帶Logo解決方案整理
文章寫的非常好, 完美解決問題:https://www.cnblogs.com/fengshen/p/Unity3D.html 根據專案的需要,對已經完成的Unity三維模型以及遊戲要使用Winform進行包裝,也就是使用Winform做一層外殼。因此在展示Unity的時候使用到了UnityWeb
ubuntu中mendeley無法使用中文解決方案
Mendeley跨平臺,免費的優點足以讓人愛上它,但是該文獻管理器在ubuntu系統下無法進行中文註釋,之前應用的是一個別人編譯好的舊版本deb包,可以中文輸入,但是那個版本在1920*1080的14“的筆記本上做筆記處字型很小,新的版本1.19改變了這種狀況,調大了字型,所以又需要在新版本
LATEX 中section中不能寫中文解決方案
在用latex做PPT的時候遇到一個奇葩的問題,section與subsection中不能寫中文。針對這個問題,查閱了很多部落格,其中印象較深的是是這兩篇部落格 一、LaTeX技巧474:\section{}命令中不能使用中文-一經典錯誤處理建議 二、LaTeX的section顯示
js點選事件在ios中失效的解決方案
ios中不允許將點選事件繫結在document或者body上,如果繫結上的話將會失效。解決方案: 例如: $(document).on(‘click’, ‘#content’, function ()}… //無效 第一種: 改為: 用#content外面的標
vue-router 在微信瀏覽器中操作history URl未改變的解決方案
問題描述: 在PC端和手機瀏覽器中router.replace() or router.push()能夠正常使用,頁面的地址和頁面都正常顯示;但是在微信中,從/a頁面通過router.push('/b')跳轉到/b頁面後,頁面正常,但是複製瀏覽器的地址會發現其地址仍為/a;
url中含中文導致The valid characters are defined in RFC 7230 and RFC 3986解決辦法
報錯如下: java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
在URL中傳遞中文的解決方式
在URL中傳遞中文的解決方式 2015年05月13日 17:13:55 thinkinglink 閱讀數:10321 標籤: URL編碼中文編碼亂碼解決 更多 個人分類: web前端 在URL中傳遞中文的解決方式 1.第一種
php 使用$_SERVER["REQUEST_URI"]獲取url中含中文亂碼的解決辦法
$request_uri = $_SERVER["REQUEST_URI"];//獲取當前頁url var_dump(urldecode($request_uri)); 中文等自動urlenco
HttpClient 4.5 重定向到中文URL出現亂碼的解決方案
一、問題描述: 遇到某個 URL A,請求時發現會重定向到某個包含了中文字元的 URL B。原以為只要 HttpClient 開啟了自動重定向的功能,下載 A 指向的頁面輕而易舉,結果卻出乎意料。HttpClient 在獲取重定向後的 URL B 時出現了中文
使用httpclient下載圖片時,url中含有中文字元,導致下載失敗的解決方法
先說解決方法吧: 修改tomcat的server.xml檔案,在Connector標籤中加上URLEncoding引數 <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThre
iOS WebView中對Url中包含中文的解碼
因為專案需求需要顯示城市 但發現請求下來是下面 http://www.xxx.cn/mobile/index.php?city_id=324&cityname=%E6%AD%A6%E6%B1%89 嘗試這個 -(void)webViewDidFinishLoad: