本文是针对越狱版iPhone手机的,手机没有越狱就别看了,看了也没办法用。

越狱版的iPhone当然是为了跟电脑一样做各种有趣的事情的。

但通常越狱的iPhone在命令行都无法处理中文,比如你的播放器里面的中文歌曲名,列出来全部是乱码的样子。类似下面的图:

输入中文也做不到,在终端窗口输入中文,只会收到一串的警告音,什么也输入不上去或者同样是一串乱码显示。

这样很多强大的命令行工具也不能用了,比如find/grep。

设置命令行的编码方式是无法成功的,默认情况下命令行只支持"C"的编码方式,也就是CP-1252。这种方式只支持ASCII字符。

经过一段研究,发现是ios终端默认没有安装编码文件,这也是理所当然,不越狱,标准的iOS要编码文件干啥用,GUI界面都是使用自己的规则处理编码。

这个编码文件可以直接在macOS电脑上拷贝,iOS跟macOS的编码文件是通用的。通常我是用en_US.UTF-8编码,这种编码对中西文的支持都比较完善。

编码文件路径在/usr/share/locale/en_US.UTF-8/文件夹,完整拷贝出来。保存到iOS上相同的路径。

直接用scp拷贝应当算最方便的:

ssh root@xx.xx.xx.xx     #连接到iPhone
mkdir -p /usr/share/locale
cd /usr/share/locale
# 下面的用户名、IP请替换成macOS对应的用户名和IP地址
scp -r username@xx.xx.xx.xx:/usr/share/locale/en_US.UTF-8 .
echo "export LC_ALL='en_US.UTF-8'" >> ~/.profile # 下面退出ssh, 重新连接iPhone就成功了,这是为了让修改之后的.profile设置生效

此时终端已经能够友好的处理中文了:

正确设置越狱版ios的终端编码--命令行中文的处理的更多相关文章

  1. [Linux] tmux 终端复用命令行工具

    tmux 终端复用命令行工具 tmux 是一款终端复用命令行工具,通常用于 Terminal 的窗口管理.可以在终端软件重启后通过命令行恢复上次的 session. 安装运行 macOS 上使用 Ho ...

  2. mac shell终端编辑命令行快捷键——行首行尾

    mac shell终端编辑命令行快捷键——行首行尾 ctrl+a //移到行首ctrl+e //移到行尾===========linux系统用============alt+a //移到光标所在单词首 ...

  3. iOS工程师常用的命令行命令总结

    感觉有点标题党了. 作为一个iOS工程师,没有做过服务端,主要用的是mac电脑,此篇博文是记录我在工作,学习的过程中用的命令行命令的记录和归纳总结 一. mac命令行 1. cd /Users/xxx ...

  4. mac shell终端编辑命令行快捷键——行首,行尾

    Ctrl + d        删除一个字符,相当于通常的Delete键(命令行若无所有字符,则相当于exit:处理多行标准输入时也表示eof) Ctrl + h        退格删除一个字符,相当 ...

  5. mac shell终端编辑命令行快捷键

    Ctrl + d        删除一个字符,相当于通常的Delete键(命令行若无所有字符,则相当于exit:处理多行标准输入时也表示eof) Ctrl + h        退格删除一个字符,相当 ...

  6. [CentOS7] 设置开机启动方式(图形界面或命令行)

    由于CenOS之前一直都是通过修改inittab文件来修改开机启动模式,于是 通过 vim /etc/inittab 打开inittab来查看 如上所示,CentOS 7由于使用systemd而不是i ...

  7. pycharm 终端命令行中文乱码解决

    ssh连接服务器,运行脚本发现终端显示的中文乱码.百度了很多方法,都没解决.后来换了个putty连接上去运行,输出屏幕的中文没乱码.可以确定是pycharm设置问题. 设置方法:  File -- s ...

  8. mac 在终端使用命令行启动脚本,无法使用自己安装的python去执行脚本问题

    参考了2片文章: //查看python位置 which python //先备份 1.sudo cp /usr/bin/python /usr/bin/python_cp //删除 2.sudo rm ...

  9. 设置C#启动进程但不显示命令行窗口

    设置一下Process类型相关的配置属性即可,直接上代码. //记得引入命名空间 //using System.Diagnostics; //获得当前环境的基路径 string basePath = ...

随机推荐

  1. CodeForces1006C-Three Parts of the Array

    C. Three Parts of the Array time limit per test 1 second memory limit per test 256 megabytes input s ...

  2. 基于iCamera测试500w摄像头-mt9p001,mt9p031,mt9p001模块小结

    基于iCamera测试500w摄像头-mt9p001,mt9p031,mt9p001模块小结 先看实物 M12标准无畸变镜头效果 标准CS镜头效果 iCamera底板+mt9p001安装效果 再看看c ...

  3. Sql Server存储过程详解

    存储过程--查询: if (exists (select * from sys.objects where name = 'GetUser')) drop proc GetUser --判断存储过程是 ...

  4. Beego在views中格式化显示时间(int64转string)

    最近在使用beego开发系统的过程中,遇到时间转换问题,需求如下: 通过以下函数获取Unix时间戳,后台数据库格式为int64: time.Now().Unix() 效果图: 从数据库获取数据,直接以 ...

  5. 小白的springboot之路(十)、全局异常处理

    0.前言 任何系统,我们不会傻傻的在每一个地方进行异常捕获和处理,整个系统一般我们会在一个的地方统一进行异常处理,spring boot全局异常处理很简单: 介绍前先说点题外话,我们现在开发系统,都是 ...

  6. koa安装教程

    此安装是在windows下进行 1.全局安装 npm install -g koa-generator 安装成功后会出现以下信息 创建项目 koa2 -e koa2-learn 2.1 -e指的是使用 ...

  7. skipping archived logs of thread 1 from sequence 29 to 46; already backed up

    问题描述:删除归档的备份,在进行归档的重新备份,提示:skipping archived logs of thread 1 from sequence 29 to 46; already backed ...

  8. CCF-CSP题解 201812-4 数据中心

    题目要求最长边最小的生成树.好吧,这就是一道kruskal MST题. #include <bits/stdc++.h> const int maxn = 50000; const int ...

  9. plsql修改某一行数据

    plsql修改某一行数据时, 在查询语句后面加上for update,再点击

  10. 基于WCF 的远程数据库服务访问技术

    原文出处:http://www.lw80.cn/shuji/jsjlw/13588Htm.Htm摘要:本文介绍了使用WCF 建立和运行面向服务(SOA)的数据库服务的系统结构和技术要素,分析了WCF ...