hacker_cgh 发表于 2013-07-27 22:22

Linux系统下生僻字打印出问题

今天遇到一奇葩问题,需要生产一个文件,生成文件的代码如下:
fprintf(pf,"|%ld|%s|%s|%s|%s|%s|%s|%s|%s\n",cardnum,stMkCard.fs_banch,stMkCard.fs_sbnum,stMkCard.fs_IdNo,\
                  stMkCard.fs_Name,stMkCard.fs_sex,stMkCard.fs_addr,stMkCard.fs_CardNo,stMkCard.fs_Track22);/*生成文件*/

出来的数据如下:
|48289|01002||64012120030121281X|高以远|1||6229478800401381939|6229478800401381939=49122202130000000|
|48290|01002||640104200709172835|马博弢|1|6229478800401381947|6229478800401381947=49122208870000000|
|48291|01002||642223199811033613|杨泽鹏|1||6229478800401381954|6229478800401381954=49122200700000000|

中间那条数据在    ‘马博弢|1|6229478800401381947 ’这部分数据中间少了一个分隔符 '|',而且每次都是只要遇到 '弢'这个字的时候就少,在虚拟Linux下测试了下,这个字打印出来是乱码,而且会吃掉后面的字符,但是细想,为什么‘马博弢|1|6229478800401381947’ 生僻字后面的 '|1|'这部分都打印出来了,却在后面的分隔符没了,如果系统字符集里没有这个生僻字的话,生僻字吃后面的字符的话按道理也是吃掉紧跟在后面的字符啊,为什么会给了一段在少字符,想了半天也没想明白为什么?跪求大神释疑?有什么能解决的办法没??????

linux_c_py_php 发表于 2013-07-29 10:50

显示问题, 不足挂齿.

hellioncu 发表于 2013-07-29 13:12

编码问题
弢8F 7C,| 7C

改用UTF吧
页: [1]
查看完整版本: Linux系统下生僻字打印出问题