Windows客户端 Linux服务器通讯 字符编码问题
Windows下的字符编码默认是gb2312 在Linux下需要转成utf8 才能正确的看到对应的中文编码 提供转换函数
/*---------------------------------------------------
Date: 2014-12-15
Author: fangjunmin
Modify:
Description: 编码转换模块
----------------------------------------------------*/
#include "encode.h"
#include "stdio.h"
#include <errno.h>
#include <iconv.h> bool ConvertEncode( const char *from_charset, const char *to_charset, char *inbuf , size_t inlen,char *outbuf, size_t& outlen )
{
char *pin = inbuf;
char *pout = outbuf;
size_t ulInLen = inlen;
size_t ulOutLen = outlen; iconv_t cd = iconv_open(to_charset, from_charset);
if( cd == (iconv_t)(-1) )
{
return false;
} memset(outbuf, 0, outlen);
int nRet = iconv(cd, &pin, (size_t*)&ulInLen, &pout, (size_t*)&ulOutLen);
iconv_close(cd); //切记 outlen -= ulOutLen; if( nRet == -1 )
{
int nError = errno;
switch( nError)
{
case EINVAL:
{
return true;
}
case E2BIG:
{
printf("转码失败,转码缓冲不够\n系统错误信息:%m\n");
return false;
}
case EILSEQ:
{
printf("转码失败(有可能同码相转)\n系统错误信息:%m\n");
return false;
}
default:
{
printf("转码失败\n系统错误信息:%m\n");
return false;
}
}
} return true;
} bool GB2312ToUtf8(const char* szSrc, int iSrcLen, char* szDst, size_t& iDstLen)
{
return ConvertEncode("GB18030", "utf-8", (char*)szSrc, iSrcLen, szDst, iDstLen);
}
Windows客户端 Linux服务器通讯 字符编码问题的更多相关文章
- kafka Windows客户端Linux服务器---转
原文:http://blog.csdn.net/jingshuigg/article/details/25001979 一.对于服务器端的搭建可以参考上一篇文章:kafka单机版环境搭建与测试 服务器 ...
- 从windows到linux的shell脚本编码和格式问题
从windows到linux的shell脚本编码和格式问题 从windows到Linux的shell脚本编码和格式问题 1.异常问题 :set ff=unix 启动脚本在启动时报错比如执行sh s ...
- Java实现windows,linux服务器word,excel转为PDF;aspose-words,Documents4j
Java实现windows,linux服务器word,excel转为PDF:aspose-words,Documents4j 一.通过aspose-words将word,Excel文档转为PDF 1. ...
- Linux:从windows到linux的shell脚本编码和格式
从windows到linux的shell脚本编码和格式问题 异常问题 :set ff=unix 启动脚本在启动时报错比如执行sh start.sh,时会报Command not found等等的错误, ...
- Windows远程linux服务器执行shell命令
一.前言 借用百度百科关于putty的描述:PuTTY是一个Telnet.SSH.rlogin.纯TCP以及串行接口连接软件.较早的版本仅支持Windows平台,在最近的版本中开始支持各类Unix平台 ...
- OPC协议解析-OPC客户端与服务器通讯解析
1 OPC服务器 OPC服务器, 是指按照OPC基金组织规定的OPC规范群开发的软件驱动.OPC服务器作为中间媒介负责从数据源读取数据再跟另外一端的客户端通信.在 OPC客户端/服务器 的结 ...
- 使用pscp实现Windows 和 Linux服务器间远程拷贝文件
转自:http://www.linuxidc.com/Linux/2012-05/60966.htm 在工作中,每次部署应用时都需要从本机Windows服务器拷贝文件到Linux上,有时还将Linux ...
- 使用pscp实现Windows 和 Linux 服务器间的远程拷贝文件
在工作中,每次部署应用时都需要从本机Windows 服务器拷贝文件到Linux 上,有时还将Linux 上的文件拷到本机,这些操作都是可以使用pscp实现的.下文将详细描述如何使用: PSCP (Pu ...
- windows 与 Linux SOCKET通讯
windows client 端口 // Def_win_client_socket_test.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" ...
随机推荐
- 【HEOI2015】小Z的房间
题意 https://www.luogu.org/problemnew/show/P4111 题解 前置知识:矩阵树定理 不要问证明,我不会,用就完事了(反正一般也不会用到) 因为矩阵树定理就是求一张 ...
- /usr/lib/python2.7/site-packages/requests/__init__.py:91: RequestsDependency
原因:python库中urllib3 (1.22) or chardet (2.2.1) 的版本不兼容 解决如下: [ [root@aaaaaaaaaaaaaaaaaaaa~]# pip uninst ...
- spring cache 几个注解解释
转自https://www.cnblogs.com/fashflying/p/6908028.html 从3.1开始,Spring引入了对Cache的支持.其使用方法和原理都类似于Spring对事务管 ...
- 测试网站接口,nginx篇
nginx是反向代理,怎么通过nginx反向代理要测试接口的线上网站呢. 这里自我提供了一个方法,仅供参考!建议不要用于刷接口等非常规的用途,后果会很严重. 首先 用node express创建一个项 ...
- 【leetcode】1239. Maximum Length of a Concatenated String with Unique Characters
题目如下: Given an array of strings arr. String s is a concatenation of a sub-sequence of arr which have ...
- Python 面向对象Ⅳ
类的继承 面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制. 通过继承创建的新类称为子类或派生类,被继承的类称为基类.父类或超类. 继承语法 在python中继承中的 ...
- 暑假集训 #2 div1 I - Lada Priora 精度处理
I - Lada Priora Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Sub ...
- android 支持发送空短信
method:A) AP端修改:1.将ComposeMessageActivity.java 中的 isPreparedForSending() 作如下修改(删掉的code也可以注释掉)private ...
- oracle中更新关键字merge和 with as关键字
merge是oracle特有的语句,两表关联操作(增.删.改)就效率非常高 merge into table_name alias1 using (table|view|sub_query) alia ...
- javascript 六种数据类型
js的数据类型和常见隐式转化逻辑. 一.六种数据类型 原始类型(基本类型):按值访问,可以操作保存在变量中实际的值.原始类型汇总中null和undefined比较特殊. 引用类型:引用类型的值是保存在 ...