分页: 1 / 1

郁闷的emacs23乱码

发表于 : 2007-01-31 18:24
BigSnake.NET
刚使用emacs23

1.打开gbk编码的文件乱码要用C-x RET r 强制指定编码
2.编辑某文件,不保存退出产生 #某某某# 这样的临时文件(怎样去掉啊~。。。),用emacs打开。出现以上1的情况,而且那个文件其实是utf-8的也乱码。。

发表于 : 2007-01-31 23:03
zhan
第一次听说用 emacs 23 也有乱码的..
当年用 emacs 23 上 irc 的时候,utf8 和 gbk 的编码通杀,一个都没有乱.

如果这样的话,想问问楼主的 locale 设置和 .emacs 文件中是不是关于编码有特殊的设置
其次,这个 #xxx# 的文件是为恢复用的,个人觉得还是很好用,所以没有管它,再说,编辑文件不保存确实是少数.., 所以不知道如何关闭这个...

发表于 : 2007-01-31 23:11
BigSnake.NET
禁用了自己的.emacs.el還是同樣問題

发表于 : 2007-01-31 23:25
zhan
cvs 的最新的源码,还是。。。?

emacs23 在打开一个文件的时候是可以自动检测编码的,我用着一直没有问题.

发表于 : 2007-02-01 12:25
BigSnake.NET
CVS..

发表于 : 2007-02-01 12:47
id_sonic
一直都用 21

发表于 : 2007-02-02 22:20
BigSnake.NET
看了此帖
viewtopic.php?t=40005&highlight=

/////////////

难道说是要用emacs23暴力覆盖掉emacs21?。。。

我的是没装emacs21,emacs23的prefix是/usr/local
。。。

发表于 : 2007-02-03 16:31
zhan
我一直没有装过 emacs21 所以不存在什么覆盖问题。这个编码的问题我觉得还是设置的问题,ls举出的那篇帖子实际上那一段配置编码的是不需要的,如果是 utf8的local,那一段一直是为 emacs21 22 准备的,因为他们不支持 unicode.

prefix 也只是一个路径的问题,只要emacs 能够运行起来,能够正确找到所需的库,这个是没有什么问题的。

我编译了一个 cvs 20070127 的包,如果需要的话,我可以传到一个地方下载。不过现在不方便。环境是 6.10 local是 zh_CN.utf8

发表于 : 2007-02-03 19:47
BigSnake.NET
我的是2007-01-29的,也是不行

传一下一个无法识别的文件,eva的README.zh,编码gbk,用emacs打开中文变成"\数字"的样子

发表于 : 2007-02-04 13:10
zhan
... 我的也是,以前还是没有注意到这样的文件。不过这个文件很是奇怪,在我这里的编码显示是“无法识别”.

代码: 全选

zhan@mylinux:~$ enca README.zh
Unrecognized encoding
使用 iconv 转码的时候报说有某个位置有不合法的编码。

代码: 全选

zhan@mylinux:~$ iconv README.zh -f gbk -t utf8 >README.zh_uni
iconv: 1021位置的非法输入序列
用 kate 开 gbk 编码看到确实有东西(见附图)。但是在 vim 中 :set list 也看不到。。。不过用 vim 可以看这个文件..没有乱码。
把这些诡异的符号去掉,保存,再用 emacs 查看,OK! 确实很奇怪阿,不知道那几个特殊的符号到底是什么...

弄不明白为什么 vim 可以看这个文件

发表于 : 2007-02-04 13:29
BigSnake.NET
更灵异的还在后头

例如有个文件foo,utf-8编码
emacs foo
然后随便修改一下
然后退出emacs,但不保存
这时当前文件夹下就有一个 #foo# 文件
然后
emacs \#foo#
乱码。。。。

然后
mv \#foo# foo2
emacs foo2

又没有乱码了~!,,,

发表于 : 2007-02-04 13:59
zhan
哈,果然如此...
看来这个 emacs 的 coding system 不是一般的怪

发表于 : 2007-02-04 14:27
BigSnake.NET
zhan 写了:... 我的也是,以前还是没有注意到这样的文件。不过这个文件很是奇怪,在我这里的编码显示是“无法识别”.

代码: 全选

zhan@mylinux:~$ enca README.zh
Unrecognized encoding
使用 iconv 转码的时候报说有某个位置有不合法的编码。

代码: 全选

zhan@mylinux:~$ iconv README.zh -f gbk -t utf8 >README.zh_uni
iconv: 1021位置的非法输入序列
用 kate 开 gbk 编码看到确实有东西(见附图)。但是在 vim 中 :set list 也看不到。。。不过用 vim 可以看这个文件..没有乱码。
把这些诡异的符号去掉,保存,再用 emacs 查看,OK! 确实很奇怪阿,不知道那几个特殊的符号到底是什么...

弄不明白为什么 vim 可以看这个文件
那个readme原来是GB10830的

这样
iconv README.zh -f GB18030 -t GBK -c>bb
emacs bb

又可以了。。
看来是emacs不支持GB18030