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. 奇异分解(SVD)

    奇异分解 假设C是m×n矩阵,U是m×m矩阵,其中U的列为 的正交特征向量,V为n×n矩阵,其中V的列为 的正交特征向量,再假设r为C矩阵的秩,则存在奇异值分解: 其中和的特征值相同,为 ,且. 是m ...

  2. WebPack基本概念以及基本使用

    入门Webpack,看这篇就够了 2017年9月18日更新,添加了一个使用webpack配置多页应用的demo,可以点击此处查看 2017年8月13日更新,本文依据webpack3.5.3将文章涉及代 ...

  3. 使用JS与CSS3的翻转实现3D翻牌效果

    之前我们有讨论过使用CSS3如何实现网页水平翻转的效果,而这次我们介绍的是翻转效果更深一层的应用——3D翻牌效果. 这里我们需要使用flip中轴翻转实现,又因为是3D效果,如果希望呈现一定的3D视角, ...

  4. [osg]osgcallback各种回调使用的例子介绍

    观察MyReadFileCallback结构体的内容,可以发现它继承自osgDB::Registry::ReadFileCallback,并重载了一个函数readNode,分析源代码可知,该函数在os ...

  5. maven项目, 单元测试失败提示 Class not found datastorage........

    ---恢复内容开始--- 单元测试失败:  提示 Class not found datastorage........ 原因:   maven  环境变量问题,   eclipse 没有自动更新下载 ...

  6. DVWA渗透测试环境搭建

    DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助w ...

  7. Go语言学习之7 接口实例、终端文件读写、异常处理

    本节主要内容: 1. 终端读写2. 文件读写3. 命令行参数4. Json5. 自定义错误 1. 终端读写 操作终端相关文件句柄常量    os.Stdin:标准输入    os.Stdout:标准输 ...

  8. Spring Boot设置值:分别用@ConfigurationProperties和@Value给属性设值及其区别

    @ConfigurationProperties给属性映射值编写JavaBean/** 将配置文件application.properties中配置的每一个属性值映射到当前类的属性中:* @Confi ...

  9. English trip Spoken English & Word List(updating...)

    Word List 词汇 Square  英 [skweə]  美 [skwɛr]  adj. 平方的:正方形的:直角的:正直的. 使成方形:与…一致 vi. 一致:成方形 n. 平方:广场:正方形 ...

  10. linux文件管理之解压缩

    文件的压缩与解压缩 Linux文件压缩工具有:gzip.bzip2.rar.7zip.lbzip2.xz.lrzip.PeaZip.arj等.============================= ...