- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Linux下乱码问题的解决方案小结由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
linux系统中文件名内容为urf8编码, windows系统中文件名默认为gbk编码, 多数文档使用gbk编码,系统采用utf8编码 。
无中文输入法导致的乱码 。
1、ibus输入法 。
Ubuntu 系统安装后已经自带了ibus输入法,在英语环境下默认不启动。配置ibus自动启动可以在ubuntu系统菜单上选择System --- Preferences --- Startup Applications,在该窗口中增加一个程序:
1
2
|
Name: ibus-daemon
Command: ibus-daemon -d -x -r
|
ibus默认提供的中文输入法比较弱智,需要额外安装ibus-pinyin,命令如下:
1
|
sudo
apt-get
install
ibus-pinyin
|
这时,还需要将ibus-pinyin输入法启动。在ubuntu系统菜单上选择System --- Preferences --- IBus Preferences,在Input Method页中的“Select an input method”下拉框中选择增加Chinese – Pinyin,就是图标中有个一个大大的“拼”字的那一个,然后点击Add按钮,最后通过Up按钮将该输入法移动到最上面。系统重启后,通过Ctrl + 空格即可调出ibus输入法。ibus输入法总体来说不错,但是在我的环境下发现无法在部分Java程序中调出来,例如Netbeans、OpenProj.
2、fcitx输入法 。
由于ibus的缺陷,所以我尝试了fcitx,使用下来也非常不错,而且可以在Java程序中正常使用,只是在这种情况下光标跟随有些问题,输入界面会停 留在屏幕最下端,但是可以接受,比起ibus不能使用要好多了.
安装fcitx:
1
|
sudo
apt-get
install
fcitx
|
启动fcitx:
1
|
im-switch -s fcitx
|
注销后重新登录,fcitx就会生效。如果需要切换回ibus,可以运行im-switch -s ibus,然后注销,重新登录。fcitx同样可以通过Ctrl + 空格调出,这时会发现fcitx显示的中文是方框,因此需要修改fcitx的配置。Fcitx的配置文件在~/.fcitx/config,该文件为 GBK编码,在Ubuntu下显示不正常,可以通过如下方式操作:
1
2
|
cd
~/.fcitx
iconv -f gbk -t utf8 config > config.tmp
|
编辑config.tmp文件:
显示字体(中)=WenQuanYi Micro Hei 。
显示字体大小=10 。
使用粗体=0 。
保存退出,然后运行命令:
1
|
iconv -f utf8 -t gbk config.tmp > config
|
注销后重新登录,fcitx显示正常.
对于搜狗输入候选字乱码问题,先运行 。
1
|
sudo
apt-get
install
fcitx-module-kimpanel
|
然后注销或者重启,一般就可以了 。
utf8 和 UTF-8 有什么区别 。
“UTF-8”是标准写法,在windows下边英文不区分大小写,所以也可以写成“utf-8”。“UTF-8”也可以把中间的“-”省略,写成“UTF8”。一般程序都能识别,但也有例外(如下文),为了严格一点,最好用标准的大写“UTF-8”。只有在MySQL中可以使用“utf-8”的别名“utf8”,但是在其他地方一律使用大写“UTF-8”.
网页上Flash中的中文显示为方框的解决办法 。
编辑/etc/fonts/conf.d/49-sansserif.conf文件,作如下修改:
1
2
3
|
<edit name=
"family"
mode=
"append_last"
>
<string>WenQuanYi Micro Hei<
/string
>
<
/edit
>
|
Java程序部分中文显示为方框的解决办法 。
在$JAVA_HOME/jre /lib/fonts目录下建立fallback目录,将中文字体文件复制(或link)到fallback目录.
1
2
|
sudo
mkdir
$JAVA_HOME
/jre/lib/fonts/fallback
sudo
ln
/usr/share/fonts/truetype/wqy/wqy-microhei
.ttc $JAVA_HOME
/jre/lib/fonts/fallback/
|
“GBK乱码”,参考 。
乱码的样子类似:
à??ü òá??à3?£???1,°2à??ü òá??à3?£???1 。
解决方法:
convmv -r -f utf8 -t iso88591 --notest --nosmart * && convmv -r -f gbk -t utf8 --notest --nosmart * # 把乱码文件名文件复制在一个空目录里运行(这样错了也不怕):
“ascii乱码”参考 。
乱码的样子类似:
%E5%8C%BB%E4%BF%9D 。
解决方法:
1.使用uni2ascii 代码:echo 乱码原文 | ascii2uni -a J 。
2.安装nautilus-filename-repairer0.06(官方有源码,但是依赖问题,我还没安装成功,而0.05版与现在的nautilus有点小小的合作障碍,只能看不能改名) 。
3.用chromeplus-1.3.3.1下载(因为这类乱码主要在用ff(默认utf8)下载qq群里的文件之后产生,用chromeplus(默认GBK)下就没问题了) 。
另外,至于文件里面内容的乱码问题可以搜索enca. 。
解决Rhythmox乱码问题:
安装Rhythmox:sudo apt-get install rhythmbox 。
安装mid3iconv:sudo apt-get install python-mutagen 。
mid3iconv -h 。
Clementine乱码问题 。
安装mid3iconv:sudo apt-get install python-mutagen 。
mid3iconv -h 。
Clementine不支持utf8,需要吧所有的mp3歌曲转换为gbk格式,wma好像不用转就可以 。
mid3iconv -e gbk *.mp3(由于不能带-r参数,所以要依次进入每个文件夹) 。
另外clementine采用gstreamer作为后端,需要安装gstreamer插件:
如果想支持mp3,需要安装gstreamer-0.10-plugins-bad和gstreamer-0.10-plugins-ugly 。
如果想支持wma,需要安装gstreamer-0.10-ffmpeg 。
如果想支持mms流媒体,需要安装gstreamer plugins for mms 。
另外Clementine基于Amarok,所以支持Amarok的插件一般都支持Clementine,比如osdlyrics.
转换文件内容编码
1
2
|
file
-i <
file
name> 检测文件编码
iconv --help
|
转换文件名编码 。
1
2
3
4
|
sudo
apt-get
install
convmv
convmv --help
convmv -f gbk -t utf8 -r --notest files
convmv -r -f utf8 -t iso88591 * --notest --nosmart && convmv -r -f gbk -t utf8 * --notest --nosmart
|
解决gedit乱码问题:
gsettings set org.gnome.gedit.preferences.encodings auto-detected "['GB18030', 'GB2312', 'GBK', 'UTF-8', 'BIG5', 'CURRENT', 'UTF-16']" gsettings set org.gnome.gedit.preferences.encodings shown-in-menu "['GB18030', 'GB2312', 'GBK', 'UTF-8', 'BIG5', 'CURRENT', 'UTF-16']" 。
解决PDF中文乱码:
sudo apt-get install poppler-data 。
解决rar文件乱码 。
使用rar 。
解压zip文件乱码 。
最近碰到这个问题,网上搜了一圈,都是什么unzip -O,一点用都没有,这些哥们估计是直接复制,用都没用过。后来找了个终极方法,用python的脚本来解压,试了下,还真管用!!!以下为python脚本的代码,新建文件jieya.py,写入以下代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import
os
import
sys
import
zipfile
print
"Processing File "
+ sys.argv[1]
file
=zipfile.ZipFile(sys.argv[1],
"r"
);
for
name
in
file
.namelist():
utf8name=name.decode(
'gbk'
)
print
"Extracting "
+ utf8name
pathname = os.path.
dirname
(utf8name)
if
not os.path.exists(pathname) and pathname!=
""
:
os.makedirs(pathname)
data =
file
.
read
(name)
if
not os.path.exists(utf8name):
fo =
open
(utf8name,
"w"
)
fo.write(data)
fo.close
file
.close()
|
然后zip文件跟jieya.py放在同一级目录,运行命令python jieya.py file.zip,哦了! 。
smplayer 中文字幕乱码解决方法 。
打开选项-》首选现:选择字幕选项卡.
找到“默认字符编码”选项,在下拉框中选择“简体中文(cp936)” 。
再打开“字体”页卡(上边),选择“系统字体”在下拉选框中选择一种简体中文字体,如 Weu Quanyi Zen Hei 等.
VLC播放器显示文件名乱码 。
初选项中修改一种支持中文的字体 。
以上所述是小编给大家介绍的Linux下乱码问题的解决方案小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我网站的支持! 。
最后此篇关于Linux下乱码问题的解决方案小结的文章就讲到这里了,如果你想了解更多关于Linux下乱码问题的解决方案小结的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
Linux 管道可以缓冲多少数据?这是可配置的吗? 如果管道的两端在同一个进程中,但线程不同,这会有什么不同吗? 请注意:这个“同一个进程,两个线程”的问题是理论上的边栏,真正的问题是关于缓冲的。 最
我找到了here [最后一页] 一种有趣的通过 Linux 启动 Linux 的方法。不幸的是,它只是被提及,我在网上找不到任何有用的链接。那么有人听说过一种避免引导加载程序而使用 Linux 的方法
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我试图了解 ld-linux.so 如何在 Linux 上解析对版本化符号的引用。我有以下文件: 测试.c: void f(); int main() { f(); } a.c 和 b.c:
与 RetroPie 的工作原理类似,我可以使用 Linux 应用程序作为我的桌面环境吗?我实际上并不需要像实际桌面和安装应用程序这样的东西。我只需要一种干净简单的方法来在 RaspberryPi 上
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 10 年前。 Improve thi
有什么方法可以覆盖现有的源代码,我应该用 PyQt、PyGTK、Java 等从头开始构建吗? 最佳答案 如果您指的是软件本身而不是它所连接的存储库,那么自定义应用程序的方法就是 fork 项目。据我所
我的情况是:我在一个磁盘上安装了两个 linux。我将第一个安装在/dev/sda1 中,然后在/dev/sda2 中安装第二个然后我运行第一个系统,我写了一个脚本来在第一个系统运行时更新它。
我在 i2c-0 总线上使用地址为 0x3f 的系统监视器设备。该设备在设备树中配置有 pmbus 驱动程序。 问题是,加载 linux 内核时,这个“Sysmon”设备没有供电。因此,当我在总线 0
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 11 年前。 Improve thi
我正试图在 linux 模块中分配一大块内存,而 kalloc 做不到。 我知道唯一的方法是使用 alloc_bootmem(unsigned long size) 但我只能从 linux 内核而不是
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我有 .sh 文件来运行应用程序。在该文件中,我想动态设置服务器名称,而不是每次都配置。 我尝试了以下方法,它在 CentOS 中运行良好。 nohup /voip/java/jdk1.8.0_71/
我是在 Linux 上开发嵌入式 C++ 程序的新手。我有我的 Debian 操作系统,我在其中开发和编译了我的 C++ 项目(一个简单的控制台进程)。 我想将我的应用程序放到另一个 Debian 操
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 4 年前。 Improve this ques
我使用4.19.78版本的稳定内核,我想找到带有企鹅二进制数据的C数组。系统启动时显示。我需要在哪里搜索该内容? 我在 include/linux/linux_logo.h 文件中只找到了一些 Log
我知道可以使用 gdb 的服务器模式远程调试代码,我知道可以调试针对另一种架构交叉编译的代码,但是是否可以更进一步,从远程调试 Linux 应用程序OS X 使用 gdbserver? 最佳答案 当然
是否有任何可能的方法来运行在另一个 Linux 上编译的二进制文件?我知道当然最简单的是在另一台机器上重建它,但假设我们唯一能得到的是一个二进制文件,那么这可能与否? (我知道这可能并不容易,但我只是
我是一名优秀的程序员,十分优秀!