NSDictionary和NSArray打印中文出现乱码的解决方案

/*

新建一个分类,打印带中文的NSDictionary和NSArray就不会再出现乱码了:

*/

#import <Foundation/Foundation.h>

@implementation NSDictionary (Log)

-(NSString *)descriptionWithLocale:(id)locale

{

NSArray *allKeys = [self allKeys];

NSMutableString *str = [[NSMutableString alloc] initWithFormat:@"{\n"];

for (NSString *key in allKeys) {

id value= self[key];

[str appendFormat:@"\t%@ = %@;\n",key, value];

}

[str appendString:@"}"];

return str;

}

@end

@implementation NSArray  (Log)

-(NSString *)descriptionWithLocale:(id)locale

{

NSMutableString *str = [NSMutableString string];

//拼接

[str appendString:@"("];

[self enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

[str appendString:[NSString stringWithFormat:@"\n\t%@,",obj]];

}];

[str appendString:@"\n)"];

//NSBackwardsSearch从后往前搜索

NSRange rang =  [str rangeOfString:@"," options:NSBackwardsSearch];

if (rang.location != NSNotFound) {

[str deleteCharactersInRange:rang];

}

return str;

}

@end

时间: 2024-12-22 20:43:37

NSDictionary和NSArray打印中文出现乱码的解决方案的相关文章

在FireFox/IE下Response中文文件名乱码问题解决方案

在FireFox/IE下Response中文文件名乱码问题解决方案 作者: 字体:[增加 减小] 类型:转载 只是针对没有空格和IE的情况下使用Response.AppendHeader()如果想在FireFox下输出没有编码的文件,并且IE下输出的文件名中空格不为+号,就要多一次判断了,接下来将详细介绍下感兴趣的朋友可以了解下,或许对你有所帮助 发现很多园子里的人在处理Response下载文件名是使用这个方法 Response.AppendHeader("Content-Disposition

Ubuntu 16.04 中文菱形乱码的解决方案

Ubuntu 16.04 中文菱形乱码的解决方案: 请用root权限进入修改 执行命令: cp -a /var/lib/locales/supported.d/local /tmp vim /var/lib/locales/supported.d/local 将里面的原有内容删除,添加为: en_US.UTF-8 UTF-8 执行命令: cp -a /etc/default/locale /tmp vim /etc/default/locale 修改为: LANG="en_US.UTF-8&qu

iOS 解决NSArray直接打印中文出现乱码的问题

在iOS开发中,经常需要查看数组中得元素是否是自己想要的,但是苹果并没有对直接打印数组中得中文作处理,直接打印就会出现一堆很讨厌的东西,解决其实很简单,就是需要通过为NSArray添加分类,重写 - (NSString *)descriptionWithLocale:(id)locale方法即可 代码如下: #import "NSArray+Log.h" @implementation NSArray (Log) - (NSString *)descriptionWithLocale:

Zabbix3.0 图像中文显示乱码之解决方案

我们前一篇文章介绍了在Centos7下安装及配置Zabbix3.0的介绍,然后我们又添加了一台linux服务器进行监控,监控后,我们通过查看图像发现,中文页面你的信息显示乱码,那是为什么呢?对于这个问题我们下面为大家提供解决方案: 原因是:由于zabbix的web前端没有中文字体: 我们可以通过进入windows机器内:c:\windows\fonts 选择其中任意一种中文字体: 我们任意复制一个中文字体 然后我们上传到zabbix的默认字体路劲下: /usr/share/zabbix/font

sublime text 2编译Python时打印中文报错的解决方案

当用sublime text 2 编译 python 文件时,若 print 打印出的中文时,控制台会报错: [Decode error - output not utf-8] 解决方案如下: 打开 sublime text 2 首选项 -> 浏览插件,进入 Python 文件夹,并找到 Python.sublime-build 文件. 打开如下: { "cmd": ["python", "-u", "$file"],

兼容各浏览器的文件下载时中文名称乱码的解决方案

public class DownloadServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // codes.. String name = "中文名 带空格 的测试文件.txt"; String userAgent = request.get

gitk、Git GUI 图形化工具中文显示乱码的解决方案

在Windows下使用gitk.Git-Gui时,可能会出现代码中的中文乱码的情况.解决方法:在软件的安装目录下,在Git\mingw64\etc\gitconfig文件末尾添加: [gui]encoding=utf-8 这样代码中的中文就能够正常显示了. 另外 关于软件的其他部分的软件相关中文乱码,解决方法如下:打开软件,在Edit -> Preferences -> fonts 中修改相应的配置即可. 如图所示 在Git Gui工具栏上选择-编辑-选项: 选择:Default File C

source insight中文注释乱码问题的解决方案

SI的使用技巧:在我的搜集的文档里有一篇专门写的,可以看 最近使用source insight查看一些开源代码,显示中文就乱码,据说是因为source insight不支持utf-8编码,默认编码方式为ANSI码.所以需要将utf-8等非ANSI码的文件转换成source insight默认支持的ANSI码格式才能显示中文不乱码.    解决方案如下: 一.单个文件转换 对于单个文件,好说,只要将非ANSI码格式的文件转换成ANSI码格式即可,方法如下:1.将文件用ultraEdit32打开,选

NSDictionary NSArray 转中文输出

////  NSDictionary+DescribetionDictionary.m//  fengzi////  Created by 谢泽锋 on 16/5/10.//  Copyright © 2016年 xiezefeng. All rights reserved.// #import <Foundation/Foundation.h>//数据字典数字打印中文显示 @implementation NSDictionary (DescribetionDictionary)-(NSStr