zoukankan      html  css  js  c++  java
  • 2dx中文乱码问题

    我们的代码里面有一个bug 为了跟之前兼容的策划导表工具兼容 导表工具导出的excel全部都是ansi的 为了兼容就只能手动改成utf 8 无bom格式

    后来策划嫌烦了 就让在程序段处理这个 研究了好久vba就是搞不定 后来google到一份代码 

    http://my.oschina.net/ffs/blog/311788 这个大牛的 解决2dx中文乱码的问题 这都是同一个问题 套用一下 bingo 搞定了 感谢这位大牛

    void WStrToUTF8(std::string& dest, const std::wstring& src){
    dest.clear();

    for (size_t i = 0; i < src.size(); i++){
    wchar_t w = src[i];
    if (w <= 0x7f)
    dest.push_back((char)w);
    else if (w <= 0x7ff)
    {
    dest.push_back(0xc0 | ((w >> 6)& 0x1f));
    dest.push_back(0x80| (w & 0x3f));
    }
    else if (w <= 0xffff)
    {
    dest.push_back(0xe0 | ((w >> 12)& 0x0f));
    dest.push_back(0x80| ((w >> 6) & 0x3f));
    dest.push_back(0x80| (w & 0x3f));
    }
    else if (sizeof(wchar_t) > 2 && w <= 0x10ffff)
    {
    dest.push_back(0xf0 | ((w >> 18)& 0x07)); // wchar_t 4-bytes situation
    dest.push_back(0x80| ((w >> 12) & 0x3f));
    dest.push_back(0x80| ((w >> 6) & 0x3f));
    dest.push_back(0x80| (w & 0x3f));
    }
    else
    dest.push_back('?');
    }
    }

  • 相关阅读:
    全国城市经纬度
    CentOS下SSH无密码登录的配置
    Nginx 1.9+PHP5.6 环境搭建
    Sphinx 2.2.11-release reference manual
    JVM 内存管理机制
    solr 3.5.0 与 tomcat 7.0.5 整合配置
    lucene 分词实现
    lucene 索引 demo
    lucene 搜索demo
    Lucene 简单API使用
  • 原文地址:https://www.cnblogs.com/rexzhao/p/5242759.html
Copyright © 2011-2022 走看看