当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 5 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 关于批量转换编码问题
帖子发表于 : 2009-08-02 10:53 
头像

注册: 2009-07-24 0:14
帖子: 144
送出感谢: 6
接收感谢: 1
:em03
我在ubuntu里安装了lamp,然后把我以前在windows里作的php程序放在ubuntu里运行,产生了很多乱马,我知道是编码问题,请问怎么批量修改文件的编码呢?以前在windows下用的是gb2312~

最好是那种:运行一个命令或者脚本,把整个文件夹包括子文件夹的编码都换了,那才爽


_________________
代码:
好东西>> http://yisnet.com/go/


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 关于批量转换编码问题
帖子发表于 : 2009-08-02 10:56 
头像

注册: 2008-10-29 11:59
帖子: 290
地址: 中国 新安江特别行政区
送出感谢: 0 次
接收感谢: 0 次
9.04?
试试这个,是解决gedit打开txt文件乱码问题的。
用Configuratio Editor (命令:gconf-editor),修改apps->gedit-2->preferences->encoding中的 auto_detected, 把GB18030,GBK,GB2312等添加进去就行了


_________________
世间这样荒芜。寂静深不可测量。如果你不在我的身边。我这样想念你。


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 关于批量转换编码问题
帖子发表于 : 2009-08-02 10:57 

注册: 2008-04-27 1:10
帖子: 473
地址: http://blogs.gnome.org/happyaron/
送出感谢: 0 次
接收感谢: 2
google到的一个结果

#!/bin/bash
#@note: 转换文件gb2312编码至UTF-8编码
#
FILE_TYPE=".txt" #需转码的文件类型,所有文件的话置空
NUM_TYPE=`echo $FILE_TYPE | wc -c` #文件类型的长度
CODING_1="GB2312" #原文件编码
CODING_2="UTF-8" #转换后的编码
# 所有编码可以在shell下输入 iconv -l 查看
SUFFIX="_tmp" #零时文件的后缀

convert(){
#转换指定文件的编码
tmp=$file$SUFFIX
echo "Converting... $file from $CODING_1 to $CODING_2 ."
iconv -f $CODING_1 -t $CODING_2 $file -o $tmp
mv $tmp $file
#sleep 1
}

foreachd(){
#递归遍历目录
for file in $1/*
do
# 如果是目录就打印处理,然后继续遍历,递归调用
if [ -d $file ]
then
foreachd $file
else
NUM_FILE=`echo $file | wc -c`
if [ ${file:${NUM_FILE}-${NUM_TYPE}:$NUM_TYPE} == $FILE_TYPE ]
then
convert "$file"
fi
fi
done
}

# 遍历转换参数1目录下的文件编码
if [ $# == 1 ]
then
foreachd "$1"
else
echo "argv error!"
fi
# END file


_________________
I will always return.


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 关于批量转换编码问题
帖子发表于 : 2009-08-02 11:02 
头像

注册: 2009-05-20 19:32
帖子: 2462
送出感谢: 0 次
接收感谢: 2
for file in $(find -type f);do iconv -f cp936 -t utf8 $file -o $file; done


_________________
irc 聊天室
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录

http://webchat.freenode.net/?channels=ubuntu-cn
irc://irc.freenode.net/ubuntu-cn


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 关于批量转换编码问题
帖子发表于 : 2009-08-02 11:29 
头像

注册: 2009-07-24 0:14
帖子: 144
送出感谢: 6
接收感谢: 1
:em11 已经搞定!
按照2F的方法~呵呵,谢谢啊。


_________________
代码:
好东西>> http://yisnet.com/go/


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 5 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译