1.v8中string都是utf8格式,Local<String> v8Str = String::NewFromUtf8(...);

windows下默认系统编码是gb2312,vs中默认使用win系统的编码格式,也是gb2312

2.所以要做的是一开始把js脚本的字符串转成utf8格式,然后如果要把js脚本执行结果输出到控制台,再把直接结果转成gb2312格式,转换函数如下:

<pre name="code" class="cpp">char* EncodingTypeUtil::UTF8ToGBK(const char* utf8)
{int len = MultiByteToWideChar(CP_UTF8, 0, utf8, -1, NULL, 0);wchar_t* wstr = new wchar_t[len + 1];memset(wstr, 0, len + 1);MultiByteToWideChar(CP_UTF8, 0, utf8, -1, wstr, len);len = WideCharToMultiByte(CP_ACP, 0, wstr, -1, NULL, 0, NULL, NULL);char* str = new char[len + 1];memset(str, 0, len + 1);WideCharToMultiByte(CP_ACP, 0, wstr, -1, str, len, NULL, NULL);if (wstr) delete[] wstr;return str;
}std::string EncodingTypeUtil::GBKToUTF8(const std::string& strGBK)
{std::string strOutUTF8 = "";WCHAR * str1;int n = MultiByteToWideChar(CP_ACP, 0, strGBK.c_str(), -1, NULL, 0);str1 = new WCHAR[n];MultiByteToWideChar(CP_ACP, 0, strGBK.c_str(), -1, str1, n); n = WideCharToMultiByte(CP_UTF8, 0, str1, -1, NULL, 0, NULL, NULL);char * str2 = new char[n];WideCharToMultiByte(CP_UTF8, 0, str1, -1, str2, n, NULL, NULL);strOutUTF8 = str2;delete[]str1;str1 = NULL;delete[]str2;str2 = NULL;return strOutUTF8;
}

3.但是对于把js脚本字符串转成utf8格式,还有个更简单的方法:

#pragma execution_character_set("utf-8")
这是把字符串常量按照UTF8编码

4.偶然看到网上的一个办法: Cocos2d-x程序Windows下VC中文乱码的解决(用MultiByteToWideChar进行转换,VC2010有非常厉害的execution_character_set)

v8 windows vs 中文乱码相关推荐

  1. vim、gvim在windows下中文乱码的终极解决方案

    From: http://www.liuhuadong.com/archives/68/index.html vim.gvim在windows下中文乱码的终极解决方案 在windows下vim的中文字 ...

  2. windows控制台中文乱码解决方法

    windows控制台中文乱码解决方法 参考文章: (1)windows控制台中文乱码解决方法 (2)https://www.cnblogs.com/ziwuge/archive/2011/12/27/ ...

  3. 解决英文版Windows 2003中文乱码问题

    解决英文版Windows2003中文乱码问题 首先,将英文版Windows2003光碟放在光驱:    1.打开"控制面板",双击"Regional and Langua ...

  4. cocos2dx 3.0 windows平台 中文乱码解决

    From: http://www.cnblogs.com/yujiaao/p/3691938.html 因为linux下cocostudio wine安装不上 而且又要开发windows程序 果断舍弃 ...

  5. windows 10 中文乱码的解决

    我是用visual Studio c++ 编写我的代码.打开以前的工程,发现里面的中文全部为乱码.查找解决办法,有说法是系统的问题,我就google  windows 中文乱码. 答案链接如下: Re ...

  6. linux和windows接口中文乱码_使用jmeter进行接口自动化实例

    testkuaibao|软件测试自学公众号 1.在excel中维护用例,包含域名.url.方法(get还是post). 参数 .预期结果(可以是多个),然后转化程csv格式,这样一来我们只需要在exc ...

  7. gvim在windows下中文乱码的终极解决方案

    打开vim的配置文件,位置在/etc/vim/vimrc 在其中加入 set encoding=utf-8 set fileencodings=utf-8,gb2312,gbk,gb18030 set ...

  8. linux和windows接口中文乱码_Loadrunnerweb接口基础

    对于只给web接口的按下面步骤,否则还是录制或者谷歌浏览器导出har文件比较轻松. POST: 1.询问接口参数的格式或者看浏览器,Content-Type 一般分为3种(标颜色的需要根据实际情况修改 ...

  9. ubuntu windows mysql 中文乱码解决

    sudo gedit /etc/mysql/my.cnf [mysqld]  init_connect='SET collation_connection = utf8_unicode_ci'  in ...

最新文章

  1. 每日一题 -- 11-1
  2. 上线随想之2011-03-27
  3. mongocollection java_mongodb与java的整合
  4. 2019计算机科学与技术全日制调济,华侨大学2019计算机科学与技术学院非全日制考研调剂信息(第二批)...
  5. MIGO+103收货到GR冻结库存和MB1B+344从非限制到冻结区别?
  6. iphone已停用解锁大概多少钱_【待办清单工具之三】微软To Do amp; iPhone提醒事项-来自大厂的时间管理系统...
  7. Spring MVC 中的 controller层的方法的返回值类型
  8. 8086汇编寄存器及指令汇总
  9. 使用Apache Storm和Kite SDK Morphlines的可配置ETL处理
  10. C++字符串完全指引之一(Win32 字符编码)
  11. centos服务器安装python3,CentOS7 服务器上如何安装python3
  12. 《JavaScript 学习指南》
  13. 娃哈哈的新品,为什么打动不了年轻人?
  14. python中每个if条件后面都要使用冒号_每个if条件后面都要使用冒号
  15. Tableau商业智能与可视化应用实战系列视频教程(史上最全)
  16. ColorPix 简单好用的屏幕取色小工具
  17. 红巨星粒子插件Trapcode Suite 14.0 Win版全套中文完美汉化版...
  18. 如何在win10下配置MySQL环境变量?
  19. linux桌面应用小结,Linux桌面应用技巧大全
  20. AVR单片机用progisp下载时报错Chip Enable Program Error

热门文章

  1. 多张图片合成连续动画
  2. 闲话网名之快乐的“邪神”
  3. 重大危险源企业如何保障年底前完成双预防机制数字化建设任务
  4. 求生之路2 局域网联机教程
  5. 视觉传达设计专业资料
  6. JAVA:实现十进制转八进制算法(附完整源码)
  7. 32位visual studio中添加x64 ActiveX控件方法
  8. 还能看到明天的太阳么?
  9. 方法 | 普通程序员如何转向机器学习
  10. 小程序分享—去除文档中的特殊符号