金庆的专栏

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  423 随笔 :: 0 文章 :: 454 评论 :: 0 Trackbacks
svn日志乱码

(金庆的专栏)

Windows上用TortoiseSVN提交, 在Linux上查看日志时显示的是乱码.
中文字符变成了一个问号和一个8进制数, 如: ?\227。

将日志输出为xml: svn log -r 123456 --xml > log.xml
然后用iconv手工转成GB2312显示:
iconv -f utf8 -t GB2312 log.xml
就可以发现iconv报告: 未知 nn 处的非法输入序列.

此处是一个横杠, "—", GB2312码为0xa1aa, utf8码为0xe28094,
iconv将svn日志uft8转GB2312时失败, 所以才显示出乱码.

iconv 可以将 0xa1aa 转成 0xe28094, 但是不能反向转.
还有一个稍短点的横杠, 0xe28095, GB2312码为0xa844,
iconv可以从GB2312转成utf8, 但是utf8转GB2312失败.

不知有没有办法让svn忽略无法转换的字符? 这样整条日志还是可以看到.

在linux上svn直接提交的长横杠显示是正常的,
GB码是0xa1aa, xml日志中utf8码是0xe28095.
posted on 2011-08-08 11:12 金庆 阅读(1614) 评论(0)  编辑 收藏 引用 所属分类: 5. 软工与管理2. 网游开发

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理