Jira中文乱码问题以及自动备份

发表于:2015-5-20 09:50

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:黄杉    来源:51Testing软件测试网采编

  序言
  昨天帮他们安装升级的Jira最新版6.3.6,其他功能都OK,能用,但是有一部分附件故障,打开时页面乱码了。
  1,于是去看了下linux下存放附件的地方,如下所示,中文文件名乱码:
  [root@name01 attachments.bak]# ll /home/jira_home/data/attachments/USER/USER-99/
  总计 52
  -rw-r--r-- 1 root root  3577 09-24 13:36 12252_thumb_?????1.jpg
  -rw-r--r-- 1 root root 18447 09-24 13:36 12252_?????1.jpg
  -rw-r--r-- 1 root root  2921 09-24 13:36 12253_thumb_?????2.jpg
  -rw-r--r-- 1 root root 23853 09-24 13:36 12253_?????2.jpg
  [root@name01 attachments]#
  分析:思索了下,旧的附件是在windows2003上面,上面可以直接明了中文名的附件,新的Jira部署在linux系统上面,所以直接copy附件到linux服务器,中文文件名识别有故障,需要转码。
  搜索到在linux下面两个工具convmv和iconv。
  convmv就是更改文件名编码方式的一个工具。比如sudo convmv -f gbk -t utf-8 -r –notest
  /home就是将/home目录下原来文件名是gbk编码方式的全部改为utf-8格式的。这里 -f  后面为原来的编码方式,-t 后面是要更改为的编码方式, -r 表示这个目录下面的所有文件, –-notest 表示马上执行,而不是仅仅测试而已。
  Iconv也是更改文件编码方式的一个工具:
  sudo iconv -f gbk -t utf-8 -o outfile  infile
  -f为原来的编码方式,-t 为输出文件的编码方式, -o表示输出文件名,这利用outfile表示,最后跟上要更改编码方式的文件名sourcefile  。
  PS:这2个命令好像要root才能执行,因此要加上 sudo或者直接使用root运行明了。
  2,安装 convmv
  [root@name01 data]# yum install convmv –y
  编写执行脚本vim crack.sh
#!/bin/bash
for i in $1/*
do
for j in $i/*
do
for k in $j/*
do
/usr/bin/convmv -f gbk -t utf8 --notest $j/* >> /tmp/convmv.log
echo "!!! !!! !!! $k"
done
echo "!!!! !!! $j"
done
echo "!!!! $i"
done
  赋予执行权限
  [root@name01 data]# chmod +x crack.sh
  截取一部分执行结果如下:
  [root@name01 data]# sh a.sh /home/jira_home/data/attachments
  ……
  !!! !!! !!! /home/jira_home/data/attachments/USER/USER-99/12253_thumb_?????2.jpg
  Skipping, already UTF-8: /home/jira_home/data/attachments/USER/USER-99/12252_thumb_账号安全1.jpg
  Skipping, already UTF-8: /home/jira_home/data/attachments/USER/USER-99/12252_账号安全1.jpg
  Skipping, already UTF-8: /home/jira_home/data/attachments/USER/USER-99/12253_thumb_账号安全2.jpg
  Skipping, already UTF-8: /home/jira_home/data/attachments/USER/USER-99/12253_账号安全2.jpg
  Ready!
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号