LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2096|回复: 11

如何让Kate/Kwrite自动探测文本编码?

[复制链接]
发表于 2006-12-11 13:37:12 | 显示全部楼层 |阅读模式
在 utf8 的 locale下区分常见的gb和utf8,然后打开,免得再次选择编码
有什么办法?
发表于 2006-12-11 15:42:38 | 显示全部楼层
看起来没有办法
gedit在zh_CN的localeg上能正常识别
en下也不行
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-11 18:06:41 | 显示全部楼层
我写了一个简单的 bash 脚本来打开文本文件,调用Kwrite
  1. #!/bin/sh

  2. editor='kwrite'

  3. E=`file -bi "$1"`
  4. if [ "$E" = "text/plain; charset=iso-8859-1" ];then
  5.     $editor --encoding gb18030 $1 &
  6. else
  7.     $editor $1 &
  8. fi
复制代码
回复 支持 反对

使用道具 举报

发表于 2006-12-11 19:50:54 | 显示全部楼层
顺便一提,如果用KWrite打开po语言包文件,它倒是可以自动将其识别为UTF-8编码,即使当前系统默认的locale是GB系列的。
回复 支持 反对

使用道具 举报

发表于 2006-12-11 21:00:25 | 显示全部楼层
Post by 千里孤坟
顺便一提,如果用KWrite打开po语言包文件,它倒是可以自动将其识别为UTF-8编码,即使当前系统默认的locale是GB系列的。


我就遇到过一次,把我郁闷死。用vim编辑了一个po,编辑完了转化乱码。
用kwrite打开还是乱码。改编码还是乱码。
我以为vim出问题了。原来我的vim没配置,默认写的gb的。
回复 支持 反对

使用道具 举报

发表于 2006-12-11 22:16:30 | 显示全部楼层
感觉kwite没有gedit识别编码能力好
不过我也没有测试过
回复 支持 反对

使用道具 举报

发表于 2006-12-11 22:18:18 | 显示全部楼层
感觉kwite没有gedit识别编码能力好
不过我也没有测试过
有谁的系统默认是zh_CN.utf8的locale
然后把kde设置成中文
再识别一个gbk/gb的文本试试
在这种情况下
gedit可以识别
kwrite就不行了
如果系统默认的locale是en_US.utf8
两者都不行
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-11 22:38:42 | 显示全部楼层
大概是这样的,kwrite 是直接使用系统编码打开文件的,事先不进行判断。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-11 22:38:58 | 显示全部楼层
不知道有没有相关补丁?或许这应该成为一个feature request。
回复 支持 反对

使用道具 举报

发表于 2009-3-5 20:37:32 | 显示全部楼层
这个倒是可以解决gb码环境打开utf8码文件时遇到的麻烦。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表