`
zhoun
  • 浏览: 47705 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Slackware current中scim输入法问题以及filezilla和aMule乱码问题

阅读更多

作者: forever steel(zhoun)
原发: http://guo9310.blog.163.com/

一. Slackware-current中scim输入法问题

Slackware-current中引入了scim作为默认输入法, 我原来一直使用fcitx,
所以并没有装scim*的几个包.
我前几天更新了gtk2+之后, 发现使用gvim的时候, 总是提示说找不到scim的一些库,
我就把scim装上了, 装上之后感觉还是不太稳定, 有很多问题的.

我的locale设置是zh_CN.GBK, scim 跟一些程序有冲突, 如wine, pidgin等.
1. wine中根本无法输入中文,
2. pidgin中经常会出现输入法候选字不显示问题,
3. vim中, 输入"mingf"这个词, 就出现一长串乱码

二. 修改locale, 从zh_CN.GBK改成zh_CN.UTF-8

scim推荐使用UTF-8, 我把locale改成zh_CN.UTF-8
1. wine中, 用fcitx输入中文
.profile中, 加入这两行:

代码:
unset QT_IM_MODULE unset XIM_PROGRAM

2. pidgin中, locale改之后没有试过, 有时间再试试看

3. vim的那个问题就好了, 没有这个一长串乱码问题了

改locale的步骤
1. 在.profile中

代码:
export LANG=zh_CN.UTF-8 export XMODIFIERS="@im=fcitx" export G_FILENAME_ENCODING="@locale"

2. 这个改locale还是没有那么简单的, 还有两个麻烦的地方
一是中文文件名, 二是gbk编码的文本文件
中文文件名可以用工具转换, 好像Magic Linux的wiki上也给出了一个方案, 用convmv处理一下
下面说说我的做法, 就是用ntfs分区做了一个编码转换:
1) 未换locale之前, locale=zh_CN.GBK的时候, 把ntfs的分区用 locale=zh_CN.GBK挂载

代码:
mount -t ntfs-3g -o locale=zh_CN.GBK /dev/sda3 /mnt/e

2) 把ext3上包含中文文件名的目录用cp -pR复制或者用rsync同步到ntfs分区
3) umount ntfs分区
4) 修改.profile, locale=zh_CN.UTF-8, 重新登录
5) 把ntfs的分区用 locale=zh_CN.UTF-8挂载

代码:
mount -t ntfs-3g -o locale=zh_CN.UTF-8 /dev/sda3 /mnt/e

6) 把ntfs分区上刚才备份的那些包含中文文件名的目录, 再复制或者同步回来就好了

3. 对于内容为gbk编码的文本文件, 可以用iconv转换一下就可以了
我这里这种文件不多, 写了一个脚本来处理

代码:
#!/bin/bash #iconv_all convert the files from gbk to utf8 #usage: iconv_all *.txt for f in $@ do if [ -f $f ] then mv "$f" "$f.bak1" iconv -c -f gbk -t utf8 < "$f.bak1" > "$f" rm "$f.bak1" fi done exit 0

三. Linux下面的电骡软件

1. mldonkey
很方便, 有一个服务器,客户端, Web UI, 可以远程登录, 支持telnet, http等, 很强悍,
试了一下web页面, 非常方便, 配置之类的也一目了然, 没有乱码问题
支持多种协议

感觉不爽的一点是edonkey模块不支持upnp, 只有bt模块支持,
造成edonkey只能得到lowid, 获取不到highid, 只能通过在无线路由器上设置端口映射来解决,
如果你使用随机端口, 每次设置太麻烦.

2. aMule
跟eMule界面和功能很象, 我自己比较习惯
而且aMule支持upnp功能, 可以不用设置端口映射就得到highid, 方便.

根据aMule wiki上的说明, 把我eMule里面的一些数据导入到aMule中,
其实我就是看看两个config目录, 有哪些文件名一样, 直接复制过来覆盖一下

四. aMule乱码问题

这次改locale=zh_CN.UTF-8, 也是因为想使用aMule,
但这个aMule的搜索出来的文件名, 和下载的文件名都是乱码

搜索出来的文件名乱码, 把locale=zh_CN.UTF-8, 就好了,
但是那个下载的文件名乱码问题, 设置locale也没有用.

http://shuizhuyuanluo.blog.163.com/b...0711104826621/
有位nihui大侠写了一个patch, 打了这个patch就好了, (这个patch应该提交给aMule开发组 )
我从Magic Linux的apt源中, 找到了aMule的源代码rpm包, 解压之后找到了这个patch
amule-cvs-convfilenames-gb18030.patch
下载了aMule的0205的svn版本, 打上补丁之后, 重新安装就没有问题了.

新加入的文件名都是对的了, 在patch安装之前的老的那些文件名,
如果是未下完文件, 可以通过传输文件->右键点击->文件信息,然后把正确的中文文件名填入
如果是已经下载完成文件, 可以通过共享文件 -> 右键点击 ->更名 来修改

下面就是那个patch文件, 感谢Magic Linux的nihui大侠提供了这个patch

代码:
diff -u -r amule-cvs/src/libs/common/Path.cpp amule-cvs.new/src/libs/common/Path.cpp --- amule-cvs/src/libs/common/Path.cpp 2008-02-01 03:55:31.000000000 +0800 +++ amule-cvs.new/src/libs/common/Path.cpp 2008-02-05 22:38:09.000000000 +0800 @@ -176,7 +176,7 @@ // Try to unmangle the filename for printing. m_printable = wxConvUTF8.cMB2WC(fn); if (!m_printable) { - m_printable = wxConvISO8859_1.cMB2WC(fn); + m_printable = wxConvLocal.cMB2WC(fn); } wxASSERT(IsOk()); diff -u -r amule-cvs/src/SafeFile.cpp amule-cvs.new/src/SafeFile.cpp --- amule-cvs/src/SafeFile.cpp 2008-01-28 04:32:36.000000000 +0800 +++ amule-cvs.new/src/SafeFile.cpp 2008-02-05 22:39:02.000000000 +0800 @@ -241,11 +241,11 @@ str = UTF82unicode(val); if (str.IsEmpty()) { // Fallback to Latin-1 - str = wxString(val, wxConvISO8859_1, raw_len); + str = wxString(val, wxConvLocal, raw_len); } } else { // Raw strings are written as Latin-1 (see CFileDataIO::WriteStringCore) - str = wxString(val, wxConvISO8859_1, raw_len); + str = wxString(val, wxConvLocal, raw_len); } return str; @@ -323,7 +323,7 @@ } default: { // Raw strings are saved as Latin-1 - wxCharBuffer s1 = wxConvISO8859_1.cWC2MB(str); + wxCharBuffer s1 = wxConvLocal.cWC2MB(str); WriteStringCore(s1, utf8strNone, SizeLen); } }

五. filezilla的乱码问题
1. 服务器端乱码, 搜索一下这个比较多见, 解释的也很清楚, 在站点管理器中改一下该站点的默认编码就好了.

作者自FileZilla Server V0.9.15开始(及相应的client版本),按RFC 2610 http://www.faqs.org/rfcs/rfc2640.html 规定的方式,默认使用UTF-8。而其他服务器和客户端并不用此标准。即,server和client对话时,Filezilla产品一上来就用UTF- 8,除非对方大喊一声UTF8 OFF;而其他的ftp产品则多数先用本地编码对话,除非对方说一声UTF8 ON。所以,Filezilla和其他软件对话时,就出现了一个讲UTF8,一个用本地编码,而大家都未沟通UTF8到底是on还是off,所以:乱码!
  参见:http://blog.sina.com.cn/u/46dac66f010005lz

2. 本地文件夹乱码, 显示一个字好像4个unicode编码一样,
这个问题就奇怪了, 以前好像是好的啊, 不知道什么时候变成这样的,也搜索不到解决方案,
后来我偶尔在设置-> 语言里面, 把简体中文改成了系统默认, 就好了! 晕倒! 原因也不知道, 反正现在好了!

斗争了一天的输入法和乱码问题, 记录下来, 给大家分享一下, 有同样问题的人可以少折腾一下

分享到:
评论

相关推荐

    SCIM(Linux 中文输入法)

    SCIM的出现使得在Linux环境下输入中文变得更加方便,尤其对于那些习惯于Windows或Mac OS X系统中的中文输入体验的用户,SCIM提供了类似的功能和易用性。 ### SCIM的主要特性: 1. **跨平台性**:SCIM不仅支持多种...

    Slackware Linux,英文环境下,SCIM在Xterm输入中文

    本文将深入探讨如何在Slackware Linux系统中配置SCIM输入法,以便在Xterm及vim环境中流畅地输入中文。 #### SCIM输入法简介 SCIM(Smart Common Input Method)是一种智能通用输入方法框架,旨在为Unix-like系统...

    Slackware手册中文版本

    slackware中文手册,希望可以帮助到您。感谢背后翻译的人员,谢谢你们。

    Slackware 设置

    本文档将详细介绍如何在Slackware系统中进行基础设置,特别是关于语言环境配置以及如何使用Swaret工具进行软件包管理与升级。 #### 二、语言环境配置 在Slackware中,可以通过编辑`/etc/profile.d/lang.sh`文件来...

    Slackware手册Slackware Handbook

    该项目致力于使用一种格式,使整个Slackware社区都能参与进来,并能够根据需要添加/编辑内容,从而使Slackware文档保持最新。

    Slackers:Slackware -current 包-开源

    Slackware - Corrado "Conraid" Franco 的当前软件包。

    关于Mysql、Php、phpMyAdmin、Zend 乱码的问题?

    乱码问题解决方案 关于Mysql、Php、phpMyAdmin、Zend 乱码的问题是一个常见的问题,而解决它们并不困难。只要我们了解Mysql和浏览器显示的原理,就可以轻松地避免乱码的困扰。 系统说明 在解决乱码问题之前,我们...

    Slackware手册.pdf

    Slackware 用户手册的中文版,Slackware和Red Hat、Debian、Ubuntu等等主流发行版有很多不同。也许最明显的就是这些主流发行版缺乏Slackware对系统管理员提供的“关照”。许多发行版都有自己用于配置各种服务的图形...

    Slackware 官方手册(中文版)

    - **常见问题解答**:解决用户在使用过程中遇到的问题。 - **小结**:ZipSlack和BigSlack为用户提供了一种轻量级且易于携带的Linux环境。 以上内容总结了《Slackware官方手册》中的关键知识点,覆盖了从基础知识到...

    Slackware Linux Essentials.pdf

    Slackware 提供了丰富的文档和支持资源来帮助用户解决问题和学习新知识。这些资源包括官方文档、在线论坛、常见问题解答(FAQ)等。 ##### 2.2 在线帮助 除了本地文档外,Slackware 还提供了大量的在线资源。例如,...

    The Official Slackware Linux Guide

    - **在线帮助**资源则提供了快速解决问题的方式,如FAQ(常见问题解答)和社区论坛。 #### 三、安装指南 - **获取Slackware** - 可以通过官方网站或其他合法渠道下载到Slackware的安装镜像。 - **系统要求** - 在...

    Slackware安装说明文档---Installing Slackware Linux下部

    **Slackware Linux 安装指南** 在深入探讨Slackware Linux的安装过程之前,我们首先需要理解Slackware Linux是什么。Slackware Linux是最古老的仍在维护的Linux发行版之一,由Patrick Volkerding在1993年创建。它的...

    Slackware安装说明文档---Installing Slackware Linux上部

    本文将深入探讨如何安装Slackware Linux,包括准备工作、安装过程以及一些关键概念,帮助用户顺利完成系统安装。 ### 一、Slackware Linux简介 Slackware是由Patrick Volkerding在1993年创建的,它是现存最古老的...

    slackware-1.01 src

    在 Slackware 1.01 中,用户可以预期找到一些基础的系统工具,如bash shell、gcc编译器、文本编辑器vi或emacs,以及基本的网络工具如telnet、ftp和httpd(Web服务器)。此外,可能还包括了X Window System的基础组件...

    Slackware Linux基础-对于Slackware Linux 10.2Slackware Linux Basics - For Slackware Linux 10.2

    解决那些很少或没有GNU / Linux经验的人。 涵盖了Slackware Linux的安装,基本的GNU / Linux命令以及Slackware Linux的配置。

    slackware 教程(最适合研发人员用的Linux版本)

    1. **学习资源**: Slackware 的简洁性和透明性使其成为学习Linux内核、系统管理以及软件包编译等技术的理想平台。通过使用Slackware,研发人员能够更好地理解Linux系统的工作原理。 2. **高效开发**: Slackware ...

    Slackware Linux Essentials (PDF)

    Linux以其高度的稳定性和安全性而闻名,被广泛应用于服务器领域以及各种嵌入式设备中。Linux的核心特点之一是其开放源代码特性,这使得全球的开发者都能够参与到系统的改进和完善中来。 **1.1.1 关于GNU** GNU项目...

    gerbera slackbuild slackware 15:用于非洲菊 UPnP 媒体服务器的 Slackware Current 15.0 Slackbuild 脚本-开源

    本文将详细介绍如何在Slackware Current 15.0操作系统上安装并使用非洲菊UPnP媒体服务器。 首先,让我们理解一下Slackware Linux。Slackware是最古老的仍在积极维护的Linux发行版之一,以其简洁、稳定和对自由软件...

    linux SlackWare安装简明教程

    Linux Slackware是一款历史悠久且高度可定制的Linux发行版,它以其纯净、稳定和对自由软件的严格遵循而受到部分用户的喜爱。本教程将带你逐步了解如何安装Slackware Linux系统,确保你能够顺利地在你的计算机上搭建...

    Slackware Linux操作系统启动过程详解

    总之,理解Slackware Linux的启动过程和运行级别管理对于系统管理员来说至关重要,它能帮助优化系统性能,增强安全性,以及在出现问题时进行有效的故障排查。通过掌握这些知识,Linux用户可以更好地掌控自己的系统,...

Global site tag (gtag.js) - Google Analytics