Unicode转GB18030
我用VS2008有个字符串CString存的 默认是Unicode字符 我想转成GB18030编码方式存成char*数组
需要帮助 给个代码好不?
[解决办法]
用iconv 只是听说这东东字符集N多,N全。
vs2008 编译iconv
iconv是常用的一个字符集转换的开源库,主页在http://www.gnu.org/software/libiconv/1.11.1版本是最后一个支持MSVC编译的版本,1.12及之后的版本只支持MingW和Cygwin编译,
下面是我用vs2008编译iconv的过程
1.下载1.11版本的libiconv
2.在srclib/progname.h文件中添加一行:
#define EXEEXT ".exe"
3.将srclib/stdint_.h更名为srclib/stdint.h,并将'@'符号全部移除
4.对srclib/Makefile.msvc进行以下改动:
1) 在OBJS=的定义中添加 width.obj
2) 添加如下定义: width.obj : width.c $(CC) $(INCLUDES) $(CFLAGS) -c width.c
5.调用以下命令编译DLL或LIB nmake -f Makefile.msvc NO_NLS=1 DLL=1 MFLAGS=-MD PREFIX="c:\lib_x86" IIPREFIX="c:\lib_x86" nmake -f Makefile.msvc NO_NLS=1 DLL=1 MFLAGS=-MD install PREFIX="c:\lib_x86" IIPREFIX="c:\lib_x86" 或 nmake -f Makefile.msvc NO_NLS=1 MFLAGS=-MD PREFIX="c:\slib_x86" IIPREFIX="c:\slib_x86" nmake -f Makefile.msvc NO_NLS=1 MFLAGS=-MD install PREFIX="c:\slib_x86" IIPREFIX="c:\slib_x86" PREFIX 和 IIPREFIX中的路径,必须用绝对路径
6.编译完后,程序在.\lib_x86目录下编译完成!
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/leitianjun/archive/2010/05/18/5605410.aspx
顺便在看一下MultiByteToWideChar和WideCharToMultiByte用法