首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

为什么Unicode中文字符转换UTF-8 结果是乱码

发布网友

我来回答

2个回答

懂视网

TCHAR cbContent[512];dyn.GetFieldValue(0,cbConte【本文来自鸿网互联 (http://www.68idc.cn)】nt,512);// 中文会显示乱码AfxMessageBox(cbContent);// 编码转换int nBufferSize = MultiByteToWideChar(CP_UTF8, 0, (LPCSTR)cbContent, -1, NULL, 0);wchar_

TCHAR cbContent[512];
dyn.GetFieldValue(0,cbConte【本文来自鸿网互联 (http://www.68idc.cn)】nt,512);

// 中文会显示乱码

AfxMessageBox(cbContent);

// 编码转换
int nBufferSize = MultiByteToWideChar(CP_UTF8, 0, (LPCSTR)cbContent, -1, NULL, 0);
wchar_t *pBuffer = new wchar_t[nBufferSize+1];
MultiByteToWideChar(CP_UTF8, 0, (LPCSTR)cbContent, -1 , pBuffer, nBufferSize*sizeof(wchar_t));

// 显示正常

AfxMessageBox(pBuffer);

delete[] pBuffer;

热心网友

一直以来都是在用wordpress搭建网站,前段时间想利用dedecms这类程序来搭建一个在线问答平台,模板装上去进行了一些简单的测试,发现了一些bug,就是提问的页面出现乱码,找了很久才知道原因。原因是这个问答模板的提问页面采用的是gbk编码,而这个系统的编码是utf8。
原因其实和之前《WordPress主题乱码》这篇文章提到的原因一样,都是因为保存编码格式出错导致。找到了出现了问题的原因,下一步就着手修改编码,把这个网页的编码由gbk转换utf8。
本来想找一个在线gbk转utf8工具,进行在线实现gbk和utf8格式互转,但是找了很久都没有找到满意的工具,于是本着自己动手丰衣足食的原则,利用Dreamweaver这款功能强大的网页编辑器进行修改,其实操作很简单,步骤如下:
一、模板文件转换
(1)用DW打开模板文件,选择 修改——页面属性——标题/编码
(2)我们只要将编码选择为UTF-8即可,下面还有一个选择就是:是否包含Unicode签名(BOM),选择不带bom的格式保存。
(3)若发现有的文字出现了乱码自己手动更改为对应的中文,从而将全部的模板文章转换为UTF-8格式!
二、数据库文件转换
(1)首先备份数据库文件,以免出现文件丢失
(2)打开phpMyAdmin找到要编辑的数据库文件,导出到本地。
(3)将导出的.sql文件利用Notepad++或者DW打开进行本地编辑,查找到CHARSET=gbk并全部替换为CHARSET=utf8即可。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com