onvif编程使用到gsoap工具生成代码框架,之后在该框架下进行编码。使用gsoap工具生成的步骤不难,网上教程也很多。下篇将对生成框架代码中遇到的问题进行总结。
1、问题现象
在获取、设置预置位名称时,名称为中文出现乱码。
中文乱码出现的原因是gsoap 的 核心内部是入和出都是UTF8编码的,由于中文是多字节的,所以将多字节的按照UTF8转换,最终结果就是乱码。
2、问题排除
通过三方面检查:linux环境编码设置问题--Eclipse环境的编码设置问题--gsoap对string编解码设置。
2.1 linux环境编码设置
首先检查linux环境,可使用locate确认linux使用utf-8编码。
2.2 Eclipse环境设置
eclipse的编码很多地方可以设置,之前因为对环境不熟悉绕了很多弯路。现在彻底弄懂了。eclipse可以设置workspace的编码方式、项目的编码方式、文件的编码方式、debug的编码方式。我将以上4项均设置为utf-8.
更详细博客参考:《