Xcode下的中文乱码问题

转载自:http://linyehui.me/2014/07/09/convert-gbk-to-utf8-on-mac.html

===========

问题原因

绝大部分的中文乱码是因为文件编码不对导致的:

  1. 使用了GBK的文件编码方式在Xcode下是无法识别的
  2. 老版本的Xcode对带BOOM头的UTF8文件编码也是无法识别的(我的Xcode 5.0.2已经支持带BOM头的UTF8文件了)

出现上述情况一般都是因为跨平台共用文件导致的,Windows,Mac共同使用的代码文件会出现乱码的问题。

最好的解决方案

Windows和Mac下统一使用UTF8带BOM头的文件编码格式。

特别解释下

以前是这样的:

UTF8不带BOM头的文件,在xcode和eclipse下显示正常,但Windows下会中文乱码;

UTF8带BOM头的文件,Windows下显示正常,但Xcode和eclipse下会中文乱码;

现在是这样的:

Xcode 5.0.2和ADT 22.3.0都已经支持显示带BOM头的UTF8格式。

Mac下遇到这种乱码怎么解决

方法一:使用Sublime的解决办法

Sublime Text 2下,使用Package Control 安装 ConvertToUTF8 这个插件:

  1. 使用Sublime打开乱码文件,正常是可以自动识别出来是GBK还是GB2312等编码的
  2. 如果识别不出来,那么就手动选择下菜单File-》Reload With Encoding,选择GBK,应该也能正确显示中文了
  3. 正确显示中文后,就可以把文件保存成UTF8格式了,但是直接Save是不行的,保存之前必须先做一件事情: > File -> Set File Encoding to -> UTF8
  4. 保存文件

方法二:Xcode的File inspector属性窗口

  1. 在工程中打开乱码的文件,选择File inspector属性窗口
  2. 选择Text Encoding,比如我选择“GB 2313”(不对的话可以换着试试看)
  3. 弹出提示,选择“Reinterpret”,如果中文显示正确,就下一步,否则就再换个编码试试

    Do you want to convert the text to ‘Simplified Chinese (GB 2312)’?

    Choose ‘Convert’ if you want to change the contents of the file to be encoded as ‘Simplified Chinese (GB 2312)’.

    Choose ‘Reinterpret’ if you believe the file has been opened with an incorrect encoding and you want to reopen it as ‘Simplified Chinese (GB 2312)’.

  4. 把成功显示中文后的文件保存成UTF8格式:

再选择下Text Encoing->UTF8,这次出现的提示选择Convert

    1. 搞定

Xcode下的中文乱码问题的更多相关文章

  1. Ubuntu下Eclipse中文乱码问题解决(转)

    Ubuntu下Eclipse中文乱码问题解决 把Windows下的工程导入到了Linux下Eclipse中,由于以前的工程代码,都是GBK编码的(Windows下的Eclipse 默认会去读取系统的编 ...

  2. ubuntu系统下matplotlib中文乱码问题

    参考 [ubuntu系统下matplotlib中文乱码问题 - CSDN博客](https://blog.csdn.net/jeff_liu_sky_/article/details/54023745 ...

  3. 解决windows下vim中文乱码

    解决windows下vim中文乱码 windows安装了vim8,也就是gvim后,打开带有中文的文档,显示中文是乱码. 毕竟有许多文档我是用utf-8编码的,所以解决的办法是设置一下编码为utf-8 ...

  4. windows下gvim中文乱码解决方案

    网罗了一些网上的解决windows下gvim中文乱码的解决方案,都试了一遍,可惜都不能完全解决我的所有问题,最后我综合一下网上的两种方案,得到了最后完全解决我的中文乱码问题的方案,配置很简单,就是把下 ...

  5. 180606-Linux下jdk中文乱码问题解决

    文章链接:https://liuyueyi.github.io/hexblog/2018/06/06/180606-Linux下jdk中文乱码问题解决/ linux下jdk中文乱码问题解决 之前遇到过 ...

  6. windows下mysql中文乱码, 配置解决方法

    内容源自:windows下mysql中文乱码, 配置解决方法 解决方法:打开mysql安装目录,打开my.ini文件(如果只有my-default.ini文件,先将其改名为my.ini!!!) 修改内 ...

  7. XAMPP下MYSQL中文乱码问题的解决

    XAMPP下MYSQL中文乱码问题的解决 现象描述: 安装完成XAMMP后,内置有MySQL数据库. 新建好自己的数据库后通过hibernate往表里面添加一些中文信息时全部乱码变成“??”. 问题解 ...

  8. JAVAWEB开发下常见中文乱码问题解决

    JAVA环境下处理中文乱码问题一直是很多人困扰的问题,像URL传参乱码,写进数据库乱码,服务写中文文字图片乱码处理及导出PDF乱码. 1:安装中文支持 yum groupinstall "f ...

  9. myql数据库在cmd下,中文乱码的问题原因

    使用navicat把数据导入数据库,这些数据都是中文,导入成功,显式也正常,但是在mysql cmd下都是乱码.检查了我的mysql配置,字符编码都是utf8,包括navicat连接时候也设置过是ut ...

随机推荐

  1. java web 工程更改名字

    如图: 将工程名字struts2Project02更改为struts2Project03,步骤如下: 1. 右键工程名字,选中properties,如图 2.更改项目名字 3.第2步已经真正把项目名字 ...

  2. javascript 创建video元素

    <!DOCTYPE html> <html> <body> <h3>演示如何创建 VIDEO 元素</h3> <p>请点击按钮来 ...

  3. Kali Linux 更新源 操作完整版教程

    一.查看kali系统的更新源地址文件 命令: vim /etc/apt/sources.list 上面这是kali官方的更新源: 拓展知识: 一个完整的源包括:deb 和 deb-src:上图源地址是 ...

  4. Android application backup

    警告 AndroidMenifest中application标签下android:allowBackup="true"时,会警告: Warning:On SDK version 2 ...

  5. 如何看待Arcsoft虹软,推出的人脸认知引擎免费SDK?

    虹软公司是一家具有硅谷背景的图像处理公司,除了人脸技术以外,还有多项图像及视频处理技术.他们的双摄像头处理算法和人脸美化算法囊括了包括OPPO VIVO,SUMAMNG一系列手机厂商. 整个人脸识别运 ...

  6. 1.TwoSum

    记录被LeetCode虐的日子 第一种方法:使用枚举 /** * Note: The returned array must be malloced, assume caller calls free ...

  7. 牛客小白月赛7 CSL的校园卡

    CSL的校园卡 思路: bfs,用状压表示走过的区域,然后和x1,y1,x2,y2构成所有的状态,然后标记一下就可以了 代码: #pragma GCC optimize(2) #pragma GCC ...

  8. Codeforces 101173 C - Convex Contour

    思路: 如果所有的图形都是三角形,那么答案是2*n+1 否则轮廓肯定触到了最上面,要使轮廓线最短,那么轮廓肯定是中间一段平的 我们考虑先将轮廓线赋为2*n+2,然后删去左右两边多余的部分 如果最左边或 ...

  9. lua中产生 1 - n 之间不重复随机数

    local function GetRandomNumList(len) local rsList = {} ,len do table.insert(rsList,i) end local num, ...

  10. Unity --- 如何降低UI的填充率

    1.首先简单介绍一下什么叫填充率: Fill Rate(填充率)是指显卡每帧或者说每秒能够渲染的像素数.在每帧绘制中,如果一个像素被反复绘制的次数越多,那么它占用的资源也必然更多.目前在移动设备上,F ...