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('?');
    }
    }

  • 相关阅读:
    Django实现表单验证、CSRF、cookie和session、缓存、数据库多表操作(双下划綫)
    c3p0连接池封装
    关于springboot
    Maven工程
    Servlet 的面试题
    Servlet request 面试题
    spring MVC 核心配置
    日志配置
    mybatis的核心配置文件
    mapper的配置文件
  • 原文地址:https://www.cnblogs.com/rexzhao/p/5242759.html
Copyright © 2011-2022 走看看