Linux 系统方法:  LD_LIBRARY_PATH=. ./userdemo | iconv -f GB2312 -t utf8

Shell 方法  Shell 编码 改成GB2312

// 编码转换
//https://www.cnblogs.com/Ivanhan2019/p/11633247.html
int code_convert(const  char *from_charset,const  char *to_charset, char *inbuf,size_t inlen,char *outbuf,size_t outlen)
{
iconv_t cd;
//int rc;
char **pin = &inbuf;
char **pout = &outbuf;
cd = iconv_open(to_charset,from_charset);
if (cd==0) return -1;
if (iconv(cd,pin,&inlen,pout,&outlen)==(size_t)-1) return -1; 
iconv_close(cd);
return 0;
}
// utf8码转为GB2312码
int u2g(char *inbuf,int inlen,char *outbuf,int outlen)
{
return code_convert("utf-8",  "gb2312",inbuf,inlen,outbuf,outlen);
}
// GB2312码转为utf8
int g2u(char *inbuf,size_t inlen,char *outbuf,size_t outlen)
{
   return code_convert("gb2312","utf-8",inbuf,inlen,outbuf,outlen);
}
// utf8转为gbk
string u2a(const char *inbuf)
{
int inlen=strlen(inbuf);
string strRet;
strRet.resize(inlen*2+2);
if(code_convert("utf-8","gbk",const_cast<char *>(inbuf),inlen,&strRet[0],strRet.size()))
return inbuf;
return strRet;
}
// gbk转为utf8
string a2u(const char *inbuf)
{
int inlen=strlen(inbuf);
string strRet;
strRet.resize(inlen*2+2);
if(code_convert("gbk","utf-8",const_cast<char *>(inbuf),inlen,&strRet[0],strRet.size()))
return inbuf;
return strRet;
}
 
 
  int char_length=255;   char out1[char_length];
      if(g2u(pRspInfo->ErrorMsg,strlen(pRspInfo->ErrorMsg),out1,char_length)!=-1)
      {
             strcpy(pRspInfo->ErrorMsg,out1);
             //{OnRspOrderAction} Fail ErrorID:1172, ErrorMsg:该报单不存在 nRequestID:1 Chain:1
             PRINT_RSP_ERR(pRspInfo);
      }

Code UTF-8 Console GB2312 Linux 中文乱码的更多相关文章

  1. Linux中文乱码问题终极解决方法

    方法一: 修改/root/.bash_profile文件,增加export LANG=zh_CN.GB18030该文件在用户目录下,对于其他用户,也必须相应修改该文件. 使用该方法时putty能显示中 ...

  2. Arch Linux中文乱码解决

    Arch Linux中文乱码解决 1.安装中文字体 pacman -S wqy-zenhei ttf-fireflysung (flash乱码)   ---乱码的原因就是缺少中文字体的支持,下载文泉驿 ...

  3. linux 中文乱码解决办法

    就是从数据库中取出来时,在存入linux的文件里时,在字符流时制定编码格式.代码如下: FileOutputStream fos=new FileOutputStream(new File(fileP ...

  4. linux中文乱码问题及locale详解

    一.修改系统默认语言及中文乱码问题记录系统默认使用语言的文件是/etc/sysconfig/i18n,如果默认安装的是中文的系统,i18n的内容如下: LANG="zh_CN.UTF-8&q ...

  5. Linux 中文乱码

    开发中不免会接触到linux,Linux系统中文语言乱码也是我们常碰到的一个问题之一. 在网上查找了不少资料,参考了https://www.linuxidc.com/Linux/2017-07/145 ...

  6. 解决mssql for linux 中文乱码问题

    什么叫一波未平一波又起,这就是,好不容易安装完成了,在用的时候居然出现了乱码,很是头疼,但还是解决了这个蛋疼的问题,在windows中使用mssql这么久,从来没出现过中文乱码的情况,具体原因是出现在 ...

  7. 在visual studio code 中配置python以及解决中文乱码问题

    安装好 visual stuido code (下面简称 “ VSC ”)后,要想使用它运行调试 python 代码还需要做一些工作以解决下列问题: 搭建 python 环境 print 打印中文出现 ...

  8. 关于解决Mac使用docker安装SQL server for Linux 中文乱码问题

    本人是Mac的追随者,无奈本学期数据库课要求使用Microsoft的SQL server.但是Microsoft并没有发布SQL server for Mac ,笔者使用Google搜索后, 发现可以 ...

  9. kaili linux中文乱码

    install kaili 用了kali,安装的英文版,一切都很爽,没有乱码 install chrome 不要用apt安装,也不要用chromium, 直接去网上找chrom的deb文件下来安装,注 ...

  10. linux中文乱码

    txt文件在linux环境下打开呈现了乱码状态. 解决方法1:在linux用iconv命令,如乱码文件名为zhongwen.txt,那么在终端输入如下命令: iconv -f gbk -t utf8 ...

随机推荐

  1. kaola

    考拉布局 CSS <style> * { margin: 0; padding: 0; } body { background-color: #f5f5f5; } .clearfix:af ...

  2. FileStream与StreamReader区别

    FileStream操作字节,更适合大文件. StreamReader操作字符,更适合小文件

  3. Python 元组tuple、 列表list、 字典dict、集合set、迭代器、生成器

    一.元组: tuple Python 的元组与列表类似,不同之处在于元组的元素不能修改. 元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组 tup2 = (111, 22, 33, ...

  4. gateway 网关接口防篡改验签

    gateway 网关接口防篡改验签 背景:为了尽可能降低接口在传输过程中,被抓包然后篡改接口内的参数的可能,我们可以考虑对接口的所有入参做签名验证,后端在网关依照相同的算法生成签名做匹配,不能匹配的返 ...

  5. Android 内存优化浅析

    一:内存占用几大要点 1,Object Cache:Image cache,single instance obj(重量级别,例如数据库连接obj,bitmap ref),Thread过多, 2,Vi ...

  6. Screw数据库文档生成神器

    引入依赖 <dependency> <groupId>cn.smallbun.screw</groupId> <artifactId>screw-cor ...

  7. (面试题)面试官为啥总是让我们手撕call、apply、bind?

    引言 上一篇关于<面试官为啥总是喜欢问前端路由实现方式>的文章发布后,发现还是挺受欢迎的.这就给我造成了一定的困惑 之前花了很长时间,实现了一个自认为创意还不错的关于前端如何利用node+ ...

  8. chrome 请停用以开发者

    链接:https://pan.baidu.com/s/1YhWINGlUVyTE5XyBVIGW_Q 提取码:23t2 转载至   https://www.cnblogs.com/it-tsz/p/9 ...

  9. nodejs redis执行lua脚本

    const Redis = require("ioredis"); const redis = new Redis({ port: 6300, // Redis port host ...

  10. sqlserver将查询中一行内容转化为多行内容

    WITH CTE AS( SELECT top 5 TaskID ,Attachments from [V_AllAccessoriesAompression])SELECT a.TaskID,c.A ...