iOS 处理内容乱码问题

一般在开发中会遇到中文乱码问题,但怎么解决就成了我们的一个问题,其实很简单的啦,下面我们就看一下具体的方法吧

1.url乱码

NSString *path = [[NSString stringWithFormat:@"%@",@"http://news.baidu.com/n?cmd=1&class=internet&tn=rss"] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

2.内容乱码

一般服务器的编码格式都是UTF8,这样通过json解析下来的的数据,一般中文是不会出现乱码,但是如果服务器的编码格式不是UTF8,通过json解析的数据中的中文容易出现乱码,怎么解决这个问题呢?一般都是通过转码来解决,但是直接转码,是不能达到效果的,例如:

[json StringstringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding],这样直接转码是达不到效果的。解析数据的时候,可以先把数据存放在NSdata对象中,再进行转码,例如NSData*jsondata
= [requestresponseData];NSString*jsonString = [[NSStringalloc]initWithBytes:[jsondatabytes]length:[jsondatalength]encoding:NSUTF8StringEncoding];这样就解决了,解析得到的数据里面中文乱码的问题

时间: 2024-11-10 13:58:51

iOS 处理内容乱码问题的相关文章

更改邮件发送语言为英语,解决编码为UTF8邮箱注册账号,邮件内容乱码问题

Change email English language, code for UTF8 mailbox registered account, email content garbled. 1. code analysis 乱码分析 通过对中文编码的邮件服务器使用原来的系统(GB2312) The original system used by the mail server encoding for the Chinese code (GB2312) 我使用outlook.com的邮箱(UT

NodeJS CSV导出文件名和内容乱码解决

// 解决不同浏览器下载文件名称乱码 var userAgent = (req.headers['user-agent']||'').toLowerCase(); res.set('Content-Type', 'application/octet-stream;charset=utf-8'); if(userAgent.indexOf('msie') >= 0 || userAgent.indexOf('chrome') >= 0) { res.setHeader('Content-Disp

Spring下@ResponseBody响应中文内容乱码问题

引言: 在JQuery的Ajax请求中,收到的基于后台返回回来的结果出现乱码,在后台其内容正确,到了前台之后,确是乱码??????,该怎样解决呢? 1.  问题的提出 前端基于JQuery的Ajax进行页面请求,可是收到的响应信息中的中文确是乱码:后台使用了基于Spring的@ResponseBody来对响应结果进行了封装. 2. 分析问题 2.1  JQuery前端排除 基于查看,JQuery的前端Ajax请求默认的都是基于UTF-8的请求,指定与否不影响结果信息. 假设坚持要加,在前端jav

上传文件时并顺便将文件压缩时出现文件名乱码以及文件内容乱码解决方案

1.文件名乱码 这是因为压缩文件的包(也就是类)的问题: import java.util.zip.ZipOutputStream; 这个引入的包对汉语乱码,对数字和字母没事: 解决: 应该引入此包: import org.apache.tools.zip.ZipOutputStream; import org.apache.tools.zip.ZipEntry;import java.nio.charset.Charset; 2.文件内容乱码: outputStream.putNextEntr

PHP使用文件流下载文件方法(附:解决下载文件内容乱码问题)

记得高中时候做过游戏私服,那时候的游戏主页是用PHP写的,因为文件很固定,客户端,登陆器和一些小工具,文件数目也不是很多,所以都是直接把下载链接写死的,直接链接到本地服务器的文件目录,今天QQ群有个朋友突然问我用文件流做PHP下载功能,顺手写了个小Demo,代码很简单,注释也全,直接上代码吧~ 1.flush — 刷新输出缓冲 2.ob_clean — 清空(擦掉)输出缓冲区 此函数用来丢弃输出缓冲区中的内容. 此函数不会销毁输出缓冲区,而像 ob_end_clean() 函数会销毁输出缓冲区.

利用php CI force_download($filename, $data) 下载.csv 文件解决文件名乱码,文件内容乱码

利用php CI force_download($filename, $data) 下载.csv 文件解决文件名乱码,文件内容乱码.做了很久终于知道了很好的解决方案. 1.加载辅助函数 $this->load->helper('download'); //下载辅助函数 $this->load->helper('string'); //字符编码转换辅助翻书 2.force_download($filename, $data)通过它的代码可以知道$data 必须是字符串,如果不是字符串

页面出现Incorrect string以及数据库内容乱码

我在制作格斗人网 (www.helpqy.com) 的时候遇到了页面报错Incorrect string的问题,我使用的是mysql,数据表中有很多中文内容,最后发现在安装mysql的时候需要选择default collection,主要有两种选择,一是latin1,主要用于纯洋文的网站中,二是UTF8,主要用在中文或者中英混合的网站中.我重新安装了mysql,并且选择default collation为UTF8,问题得以解决. 调试过程中又遇到另外一个问题,即页面从数据库中读取的中文内容显示为

解决ZABBIX自定义邮件报警内容乱码问题

ZABBIX报警内容:邮件标题正常,内容为乱码:微信报警正常. 曾试图改变环境变量:export LANG=zh_CN.UTF-8 依旧为乱码 原因:export只改变的环境变量 而ZABBIX报警内容为传参,因此需要转码. #!/bin/bash To=$1 Title=$2 Notice=$3 echo "${Notice}" | /usr/bin/iconv -t GB2312 -f UTF-8 | /bin/mailx -s "${Title}"  ${To

ios输入内容正则表达式的应用

原文链接:http://www.haogongju.net/art/1595705 由于最近开发ios的程序,由于需要正则表达式的验证,比较麻烦. 正则表达式的用法比较多,可以网上搜索一下,但是使用的过程中会根据问题区分. 目前的需求就是,输入的内容不可以是汉字,也不可以有空格,代码如下,判断汉字主要是根据字符所占用的字节数判断. BOOL hasChinese = NO; int length = [str length]; for (int i=0; i NSRange range = NS