精华内容
下载资源
问答
  • Linux下转换windows下写的一个txt文本文件...#include #include #include #include int gbk2utf8(char *src, size_t *srclen, char *dest, size_t *destlen){iconv_t cd = iconv_open("UTF-8", "GBK");if (cd == (i...

    Linux下转换windows下写的一个txt文本文件,转换编码之后,在终端打印出来。#include

    #include

    #include

    #include

    int gbk2utf8(char *src, size_t *srclen, char *dest, size_t *destlen)

    {

    iconv_t cd = iconv_open("UTF-8", "GBK");

    if (cd == (iconv_t)-1) {

    printf("func iconv_open() err : %s\n", strerror(errno));

    return -1;

    }

    size_t rc = iconv(cd, &src, srclen, &dest, destlen);

    if (rc == (size_t)-1) {

    printf("func iconv() err : %s\n", strerror(errno));

    return -1;

    }

    iconv_close(cd);

    return 0;

    }

    int main(int argc, char *argv[])

    {

    if (argc < 2)

    return -1;

    FILE *fp = fopen(argv[1], "r");

    if (fp == NULL) {

    printf("func fopen() err : %s\n", strerror(errno));

    return -2;

    }

    char buf[1024];

    char destbuf[1024];

    while (1) {

    memset(buf, 0, sizeof(buf));

    memset(destbuf, 0, sizeof(destbuf));

    if (fgets(buf, sizeof(buf), fp) == NULL) {

    break;

    }

    size_t srclen = strlen(buf);

    size_t destlen = sizeof(destbuf);

    gbk2utf8(buf, &srclen, destbuf, &destlen);

    printf("%s", destbuf);

    }

    fclose(fp);

    return 0;

    }

    展开全文
  • 在写cocos的时候需要解析一个文件,但是文件是GBK编码方式,而cocos默认是使用UTF8所以需要转码,这是在网上找到的代码,但是原本的不能用,这我修改过的。系统环境:MacMini编译器:Xcode游戏引擎:cocos2d-x...

    在写cocos的时候需要解析一个文件,但是文件是GBK编码方式,而cocos默认是使用UTF-8所以需要转码,这是在网上找到的代码,但是原本的不能用,这我修改过的。

    系统环境:MacMini

    编译器:Xcode

    游戏引擎:cocos2d-x

    头文件:#include

    int Rf4FileDecode::code_convert(char *from_charset,char *to_charset,char *inbuf,int inlen,char *outbuf,int outlen)

    {

    iconv_t cd;

    char **pin = &inbuf;

    char **pout = &outbuf;

    cd = iconv_open(to_charset,from_charset);

    if (cd==0)

    return -1;

    memset(outbuf,0,outlen);

    if (iconv(cd,pin,(size_t*)&inlen,pout,(size_t*)&outlen) == -1)

    return -1;

    iconv_close(cd);

    return 0;

    }

    int Rf4FileDecode::u2g(char *inbuf,int inlen,char *outbuf,int outlen)

    {

    return code_convert((char*)"utf-8",(char*)"gb2312",inbuf,inlen,outbuf,outlen);

    }

    int Rf4FileDecode::g2u(char *inbuf,size_t inlen,char *outbuf,size_t outlen)

    {

    return code_convert((char*)"gb2312",(char*)"utf-8",inbuf,(int)inlen,outbuf,(int)outlen);

    }

    调用的时候 原编码字符串最好跟新编码字符串区分开为两个而不是转码后直接保存到原来的缓冲区。

    调用代码:

    charb[1024];

    this->g2u(buff,1024,b,1024);

    展开全文
  • 过滤了所有的请求为GBK,现在就是想把前台传到后台的json转为gbk 死活转不了,前台请求为UTF-8 也不能改,死活都是utf-8 $.ajax({ type: "post", url: "../sysconfig/resourceFieldProcessAll.do?currAction=...
  • 因为一些特殊字符的显示效果的原因不得不把习惯的utf-8工程改成GBK,由于使用了ajax技术,又涉及到了老问题——编码转换。一些表单验证需要返回json数据,PHP的json_encode函数只支持utf-8编码,无奈只得iconv了,...

    因为一些特殊字符的显示效果的原因不得不把习惯的utf-8工程改成了GBK,由于使用了ajax技术,又涉及到了老问题——编码转换。

    一些表单验证需要返回json数据,PHP的json_encode函数只支持utf-8编码,无奈只得iconv了,需要达到的效果是GBK数组转换成utf-8数组传给json_encode函数。

    最开始的思路,将数组序列化后用iconv函数转换编码,之后再反序列化,代码如下:

    unserialize(iconv('gbk','utf-8',serialize($array)));

    得到的结果是空白,后来想起来配置文件里设置了默认编码 ini_set('default_charset', 'gbk');   这样用gbk反序列化utf-8的字符串肯定不好用了,此处在序列化和反序列化之间加个ini_set('default_charset', 'utf-8'); 应该也是可以的,但这么弄总觉得有点别扭,因为是全局的编码设置,很容易导致其他地方的编码问题,比如数据库操作。那么换个思路,用构建数组原型的序列化方法,借助var_export函数,最终函数如下:

    function array_iconv($in_charset,$out_charset,$arr){

    return eval('return '.iconv($in_charset,$out_charset,var_export($arr,true).';'));

    }

    原理很简单 var_export设置第二个参数为true,返回数组原型字符串,将字符串转换为utf-8编码,之后再用eval来执行返回(类似匿名函数?),至此完美解决问题。

    后续:后来在网上搜了下资料,看有没有更好的方法,找到的都大同小异,都是利用递归调用iconv的方式,如果数组元素过多或者维数多一些,性能上肯定不怎么样了,更好的是原生代码的方式,不需要考虑是N维数组还是关联数组,一切都已经自动完成,保证数组转换前后数据一致。从代码的长短以及循环和原生方法的比较上,相信大家已经有了选择。

    展开全文
  • mb_convert_encoding($str,'gb2312','utf-8')来处理,后来发现有几个字处理后是乱码,没错,就是 “珺” 这个字,网上看了很多,有说把gb2312改成gbk,还有用iconv来处理,试了半天,都不行,最后才找到解决方案,...

    之前做的一个csv格式文件导出功能,因为要把编码处理成gb2312格式,使用

    mb_convert_encoding($str,'gb2312','utf-8')来处理,后来发现有几个字处理后是乱码,没错,就是 “珺” 这个字,网上看了很多,有说把gb2312改成gbk,还有用iconv来处理,试了半天,都不行,最后才找到解决方案,直接上代码吧
    function convert_encoding($str, $encoding = 'gbk'){
        $is_utf8 =  preg_match('%^(?:[\x09\x0A\x0D\x20-\x7E]| [\xC2-\xDF][\x80-\xBF]|  \xE0[\xA0-\xBF][\x80-\xBF] | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}    |  \xED[\x80-\x9F][\x80-\xBF] |  \xF0[\x90-\xBF][\x80-\xBF]{2}  | [\xF1-\xF3][\x80-\xBF]{3}  |  \xF4[\x80-\x8F][\x80-\xBF]{2} )*$%xs', $str);
        if($is_utf8 && $encoding == 'utf8'){
            return $str;
        }elseif($is_utf8){
            return mb_convert_encoding($str, $encoding, "UTF-8");
        }else{
            return mb_convert_encoding($str, $encoding, 'gbk,gb2312,big5');
        }
    }

    直接调用这个函数处理就行了,至于为什么,相信大家看了这个代码就明白了,废话就不说了。

    展开全文
  • 在安装ORACLE的时候,默认字符集为ALU32UTF8,如果需要更好的支持中文,建议字符集更改成“ZHS16GBK”,如果想不重新安装数据库的话,只有更改数据库字符集了。 1、查看数据库服务器的字符集 有很多种方法可以...
  • 在菜单栏选择“window“----preference----General-----Workspace 选中Workspace 在右边窗口中找到Text file encoding: 选择other,然后选择utf-8 第二步。在菜单栏选择“window“----preference----General-----...
  • 开发一个网站,网页编码是UTF-8 的,需要访问一个第三方的后台HTTP服务器,它只接收gbk编码的请求,有些请求我需要...我不能将网页全部改成gbk。JS有没有将UTF8的字符串转换成GBK的。我搜了很久,没有发现能用的博客。
  • 1.GBK是中国标准,每个汉字2个字节 2.Unicode是国际标准,每个汉字分配一个unicode编码。 3.unicode的编码实现有多种表示形式,比如UTF-8,UTF-16…。...如果把文件格式改成UTF-8,则每个汉字为3个字节,s.size() =
  • 文本文件编码转换工具 gbk utf8 gb2312

    千次下载 热门讨论 2010-01-26 18:27:23
    写此贴为记录自己的学习历程,供后来者以观. ...???????".... 1)在phpmyadmin 中建库的时候一切默认 <!-----MySQL 字符集: UTF-8 Unicode (utf8) ... 解决起来很简单,把它们的编码都改成 utf8 好了. 批量文件转码工具
  • eclipse 编码改成utf-8

    2019-10-07 12:42:58
    Eclipse的编码格式是系统默认 修改为utf-8,点击Apply and Close 然后项目的编码格式会统一默认utf-8 ...当然也可以选择other,改成GBK. 转载于:https://www.cnblogs.com/xuqiulin/p/10188409.html...
  • // UTF8不行改成GBK试试,与你保存的格式匹配 ?> <h2 align=”center”>读取已有文本文件</h2> 《红楼梦》,中国古典四大名著之首,清代作家曹雪芹创作的章回体长篇小说[1] ,又名《石头记》《金玉...
  • 朋友问: 有个学校oracle数据库的编码是GBK,而且库里边已经有很多生产数据了,现在想改成UTF8的,如果执行了这步操作,会出现哪些问题? 我的回答: 因为utf8的库中文占3个byte,gbk占2个byte,所以会出现客户端...
  • 直奔主题:把包含中文的csv文件的编码改成utf-8的方法:啰嗦几句:在用pandas读取hive导出的csv文件时,经常会遇到类似UnicodeDecodeError: 'gbk' codec can't decode byte 0xa3 in position 12这样的问题,这种问题...
  • PhpStorm是一个轻量级且便捷的PHP IDE,其旨在提供用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。 由于PHPStorm编辑器默认是UTF-8编码 ...将UTF-8改成GBK latin1,也可以...
  • 8,按照网上的说法右键项目-properties-resource-text file encoding 设置为GBK,但是没生效,这是因为全局文件(window -preferences-context types-text)的编码都设置了UTF-8,但是如果把这个改成GBK,会影响自己...
  • java将gbk文件批量转换成UTF-8

    热门讨论 2013-08-12 15:58:48
    在开发的时候经常碰到这样的情况,需要将原本编码格式为GBK的工程改成UTF-8来编码,设置之后,注释全都乱码了,一个一个改太麻烦,有了这个工具只用运行一下main方法,一键搞定 ps:如果是UTF-8GBK,或是其他编码...
  • 之前讨论过如何将sqlserver项目搬迁到Mysql中,本篇来讲述下,怎么把现有GBK项目改成UTF-8项目。 一、场景 公司有两个项目,两个项目小组做的,分别用的是GBKUTF-8编码,现需要将两个项目部署在同一个服务器上...
  • 直奔主题:把包含中文的csv文件的编码改成utf-8的方法:啰嗦几句:在用pandas读取hive导出的csv文件时,经常会遇到类似UnicodeDecodeError: 'gbk' codec can't decode byte 0xa3 in position 12这样的问题,这种问题...
  • mySql编码改成utf-8

    2020-02-28 22:11:44
    我们要改成utf8 [Unicode] 或GBK,GB2312 找到MySQL安装的文件夹,找到my.ini配置文件,例如: D:\Program Files\MySQL\MySQL Server 5.5\ my.ini配置文件 port=3306 (<–端口要是3306) [mysql] 将m...
  • 2、文件转码后,本地环境改成utf-8环境,可能会有部分乱码文件,手动修复3、含有中文js引用增加charset="gbk"如依赖:static.360buying.com、shop.jd.com4、打包编译编码:替换成UTF-85、xml设置格式:以前可能为gbk或...
  • 用记事本打开SQL文件,把里面所有的GBK字符改成UTF8的(或者干脆删除掉)然后把修改后的内容复制出来,新建个数据库,编码为UTF8,把内容粘贴进去,应该就可以了吧。...
  • 自己本地电脑(window)所用编码为gbk,服务器编码为utf8 在上传与下载文件时如果需要在自己本地电脑里读取文件,那么读取到的文件名格式为GBK 在上传服务器时需要把编码改成UTF-8,不然在服务器存储时会是乱
  • 拉代码,发现中文注释变成unicode,一键解决 \u73AF\u5883\u4EE3\u7801,0\u5F00\u53D1\u73AF\u5883\u30011\u6D4B\u8BD...其他地方utf-8保持不变,只需打对勾!!!! 图片中✅地方,勾选后中文注释就会恢复正常。 ...
  • 1。首先下载别人提供的GBK的插件,解压。...(2) 找到所有sql或txt文件,将所有default charset = gbk改成utf8,如果没有设置default charset就不用改。 (3) 找到所有php文件,由于php文件中可能既包含ht
  • 今天有人突然提出这么个问题让我解决。以前也有到过,直接alter system做的。...但是这次是就是要求ZHS16GBK改成UTF8,导致很多数据丢失。 分析一下:首先ZHS16GBK只支持中文和英文,ALTUTF8只...
  • python解码报错,gbkutf-8都不行了

    千次阅读 2020-05-31 10:42:41
    这里写自定义目录标题 ...后来我搜索,有网友说可以改成gbk”,于是我就改了,结果成功了,那叫一个激动啊 可是好事不长,运行了几次它又不行了,又报错了: UnicodeDecodeError: ‘gbk’ codec can’t decode byte

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 989
精华内容 395
关键字:

utf8改成gbk