字符编码转换GBK to UTF-8 / UTF-8 to GBK
发布时间:2020-12-15 07:16:23 所属栏目:安全 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #!/bin/bash: mark转码工具,支持UTF-8转GBK和GBK转UTF-8孔令飞@2012-05-07mark#set -xscode="gbk"dcode="utf-8"function Usage(){cat EOFUsage: conv
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 #!/bin/bash : << mark 转码工具,支持UTF-8转GBK和GBK转UTF-8 孔令飞@2012-05-07 mark #set -x scode="gbk" dcode="utf-8" function Usage() { cat << EOF Usage: conv [OPTIONS] [DIR] [-u] GBK to UTF-8 [-g] UTF-8 to GBK EOF exit 1 } #将当前目录下所有普通文件进行转码 GBK to UTF-8 function g2u() { local dir=$1 printf "Convering $dir ......" for file in $(ls $dir) do file="$dir/$file" if [ -f $file ];then coding=$(file -b $file | cut -d ' ' -f1) #进行转码 if [ "$coding" = "ISO-8859" ];then local tmpfile=$(mktemp) Fright=$(stat -c %a $file) Fuser=$(stat -c %U $file) Fgro=$(stat -c %G $file) iconv -f $scode -t $dcode $file > $tmpfile || Usage mv $tmpfile $file && chmod $Fright $file chown $Fuser:$Fgrp $file fi fi done printf " donen" } function u2g() { local dir=$1 printf "Convering $dir ......" for file in $(ls $dir) do file="$dir/$file" if [ -f $file ];then coding=$(file -b $file |cut -d ' ' -f1) #进行转码 if [ "$coding" = "UTF-8" ];then local tmpfile=$(mktemp) Fright=$(stat -c %a $file) Fuser=$(stat -c %U $file) Fgro=$(stat -c %G $file) iconv -f $dcode -t $scode $file > $tmpfile || Usage mv $tmpfile $file && chmod $Fright $file chown $Fuser:$Fgrp $file fi fi done printf " donen" } [ $# -ne 2 ] && Usage while getopts ug opt do case $opt in u) echo "Convert gbk coding to utf-8 ...." for dir in $(find $2 -type d) do g2u $dir done ;; g) echo "Convert utf-8 coding to gbk ...." for dir in $(find $2 -type d) do u2g $dir done ;; *) Usage exit 1 ;; esac done exit 0 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |