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.
(金庆的专栏)
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.