精华内容
下载资源
问答
  • 需求:将utf-8格式的文件转换成gbk格式的文件 实现代码如下: 复制代码 代码如下: def ReadFile(filePath,encoding=”utf-8″):  with codecs.open(filePath,”r”,encoding) as f:  return f.read()   ...
  • 文件编码转换(utf8gbk相互转换) 可以将utf8(gbk)的文件转换成gbk(utf8)格式
  • C++ UTF-8GBK的转换

    千次阅读 2019-02-20 13:47:50
    std::string GbkToUtf8(std::string src_str) { int len = MultiByteToWideChar(CP_ACP, 0, src_str.c_str(), -1, NULL, 0); wchar_t* wstr = new wchar_t[len + 1]; memset(wstr, 0, len + 1); MultiByteToWid....
    std::string GbkToUtf8(std::string src_str)
    {
    	int len = MultiByteToWideChar(CP_ACP, 0, src_str.c_str(), -1, NULL, 0);
    	wchar_t* wstr = new wchar_t[len + 1];
    	memset(wstr, 0, len + 1);
    	MultiByteToWideChar(CP_ACP, 0, src_str.c_str(), -1, wstr, len);
    	len = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, NULL, 0, NULL, NULL);
    	char* str = new char[len + 1];
    	memset(str, 0, len + 1);
    	WideCharToMultiByte(CP_UTF8, 0, wstr, -1, str, len, NULL, NULL);
    	string strTemp = str;
    	if (wstr) delete[] wstr;
    	if (str) delete[] str;
    	return strTemp;
    }
    
    std::string Utf8ToGbk(std::string src_str)
    {
    	int len = MultiByteToWideChar(CP_UTF8, 0, src_str.c_str(), -1, NULL, 0);
    	wchar_t* wszGBK = new wchar_t[len + 1];
    	memset(wszGBK, 0, len * 2 + 2);
    	MultiByteToWideChar(CP_UTF8, 0, src_str.c_str(), -1, wszGBK, len);
    	len = WideCharToMultiByte(CP_ACP, 0, wszGBK, -1, NULL, 0, NULL, NULL);
    	char* szGBK = new char[len + 1];
    	memset(szGBK, 0, len + 1);
    	WideCharToMultiByte(CP_ACP, 0, wszGBK, -1, szGBK, len, NULL, NULL);
    	string strTemp(szGBK);
    	if (wszGBK) delete[] wszGBK;
    	if (szGBK) delete[] szGBK;
    	return strTemp;
    }

     

    展开全文
  • collation-server=utf8_general_ci character-set-server=utf8 注意:如果此标签下已经存在"character-set-server=GBK”类似的内容,只需修改即可。 2、在 [mysql] 标签下加上一行 default-character-...

    设置mysql的编码格式有两种可行的方法,第一种是直接修改mysql安装目录下的my.ini文件(推荐),第二种是直接使用sql命令修改(修改后发现mysql停止重启之后又变回来原来的模样)。

    编码设置前:

    • 方法一:编辑MySql目录下的my.in配置文件(Linux下一般是/etc/my.cnf)。

    1、在 [mysqld] 标签下加上以下内容:

    collation-server=utf8_general_ci

    character-set-server=utf8

    注意:如果此标签下已经存在"character-set-server=GBK”类似的内容,只需修改即可。

    2、在 [mysql] 标签下加上一行

    default-character-set = utf8

    3、在 [mysql.server]标签下加上一行

    default-character-set = utf8

    4、在 [mysqld_safe]标签下加上一行

    default-character-set = utf8

    5、在 [client]标签下加上一行

    default-character-set = utf8

    my.ini文件的配置示例:

    注意:使用第一种方法设置,在保存my.ini文件之后需要重新启动mysql服务。

    Windows可在服务管理器中操作,也可使用命令行:

    net start mysql 回车(启动mysql)

    net stop mysql 回车(关闭mysql)

    服务名可能不一定为mysql,请按自己的设置。

    Linux下面可以用 service mysql restart

    如果出现启动失败,请检查配置文件有没有设置错误

    • 方法二:进入mysql命令行使用以下命令依次设置(不推荐)

    set character_set_client = utf8;

    set character_set_server = utf8;

    set character_set_connection = utf8;

    set character_set_database = utf8;

    set character_set_results = utf8;

    set collation_connection = utf8_general_ci;

    set collation_database = utf8_general_ci;

    set collation_server = utf8_general_ci;


    • 查看设置结果

    登录MySql命令行客户端,打开命令行输入:

    mysql –u root –p 回车

    输入密码;

    进入mysql后 执行 :show variables like "% character %";

    显示结果如下表示设置成功:

     

    展开全文
  • 如字符集是zhs16gbk,则nls_lang可以是American_America.zhs16gbk。 三、修改server端字符集(不建议使用) 0.连接数据库 sqlplus /nolog sql> conn /as sysdba 1. 关闭数据库 SQL>...

    转自:https://www.cnblogs.com/perilla/p/3873653.html

    一、什么是Oracle字符集

           Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适应本地化语言和平台。

     

    影响Oracle数据库字符集最重要的参数是NLS_LANG参数。

    它的格式如下: NLS_LANG = language_territory.charset

    它有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。

    其中:

    Language: 指定服务器消息的语言, 影响提示信息是中文还是英文

    Territory: 指定服务器的日期和数字格式,

    Charset:  指定字符集。

    如:AMERICAN _ AMERICA. ZHS16GBK

    从NLS_LANG的组成我们可以看出,真正影响数据库字符集的其实是第三部分。

    所以两个数据库之间的字符集只要第三部分一样就可以相互导入导出数据,前面影响的只是提示信息是中文还是英文。

    怎么查看数据库版本

    select * from v$version   包含版本信息,核心版本信息,位数信息(32位或64位)等  至于位数信息,在Linux/unix平台上,可以通过file查看,如file $ORACLE_HOME/bin/oracle


    二、查看数据库字符集

    涉及三方面的字符集,

    1. oracel server端的字符集;

    2. oracle client端的字符集;

    3. dmp文件的字符集。

     

    在做数据导入的时候,需要这三个字符集都一致才能正确导入。

     

    2.1 查询oracle server端的字符集

    有很多种方法可以查出oracle server端的字符集,比较直观的查询方法是以下这种:

    SQL> select userenv('language') from dual;

    USERENV('LANGUAGE')

    ----------------------------------------------------

    SIMPLIFIED CHINESE_CHINA.ZHS16GBK

     

    SQL>select userenv(‘language’) from dual;

    AMERICAN _ AMERICA. ZHS16GBK

     

    2.2 如何查询dmp文件的字符集

    用oracle的exp工具导出的dmp文件也包含了字符集信息,dmp文件的第2和第3个字节记录了dmp文件的字符集。如果dmp文件不大,比如只有几M或几十M,可以用UltraEdit打开(16进制方式),看第2第3个字节的内容,如0354,然后用以下SQL查出它对应的字符集:

    SQL> select nls_charset_name(to_number('0354','xxxx')) from dual;

    ZHS16GBK

     

    如果dmp文件很大,比如有2G以上(这也是最常见的情况),用文本编辑器打开很慢或者完全打不开,可以用以下命令(在unix主机上):

    cat exp.dmp |od -x|head -1|awk '{print $2 $3}'|cut -c 3-6

    然后用上述SQL也可以得到它对应的字符集。

     

    2.3 查询oracle client端的字符集

    在windows平台下,就是注册表里面相应OracleHome的NLS_LANG。还可以在dos窗口里面自己设置,

    比如: set nls_lang=AMERICAN_AMERICA.ZHS16GBK

    这样就只影响这个窗口里面的环境变量。

     

    在unix平台下,就是环境变量NLS_LANG。

    $echo $NLS_LANG

    AMERICAN_AMERICA.ZHS16GBK

     

    如果检查的结果发现server端与client端字符集不一致,请统一修改为同server端相同的字符集。

     

    补充:

    (1).数据库服务器字符集

    select * from nls_database_parameters

    来源于props$,是表示数据库的字符集。

     

    (2).客户端字符集环境

    select * from nls_instance_parameters

    其来源于v$parameter,表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表

     

    (3).会话字符集环境

    select * from nls_session_parameters

    来源于v$nls_parameters,表示会话自己的设置,可能是会话的环境变量或者是alter session完成,如果会话没有特殊的设置,将与nls_instance_parameters一致。

     

    (4).客户端的字符集要求与服务器一致,才能正确显示数据库的非Ascii字符。

    如果多个设置存在的时候,NLS作用优先级别:Sql function > alter session > 环境变量或注册表> 参数文件> 数据库默认参数

     

    字符集要求一致,但是语言设置却可以不同,语言设置建议用英文。如字符集是zhs16gbk,则nls_lang可以是American_America.zhs16gbk。


    三、修改server端字符集(不建议使用)


    0.连接数据库

    sqlplus   /nolog

    sql> conn /as sysdba


    1. 关闭数据库

    SQL>SHUTDOWN IMMEDIATE

     

    2. 启动到Mount

    SQL>STARTUP MOUNT;

    SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;

    SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

    SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;

    SQL>ALTER DATABASE OPEN;

    --这里可以从父集到子集

    SQL>ALTER DATABASE CHARACTER SET ZHS16GBK;

    SQL>ALTER DATABASE NATIONAL CHARACTER SET AL16UTF16;

    --如果是从子集到父集,需要使用INTERNAL_USE 参数,跳过超子集检测

    SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;

    SQL>ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE AL16UTF16;

     

    SQL>SHUTDOWN IMMEDIATE;

    SQL>STARTUP

    注意:如果没有大对象,在使用过程中进行语言转换没有什么影响,(切记设定的字符集必须是ORACLE支持,不然不能start) 按上面的做法就可以。

     

    展开全文
  • txt文本文件字符集格式转换(GBK等格式转UTF),java语句开发,运行需要java环境, DOS下运行命令:java txttoutf test.txt test8888.txt(test.txt是原始文件,test8888.txt是处理后UTF8格式的txt文件)
  • C++ 中文字符编码转换 GBK/UTF-8

    千次阅读 2018-09-12 15:14:54
    void UTF8ToGBK(CString &cstrUTF8) {  string strUTF8;  strUTF8 = cstrUTF8.GetBuffer(0);  int len = MultiByteToWideChar(CP_UTF8, 0, strUTF8.c_str(), -1, NULL, 0);  unsigned short * wszGBK = ...

    copy from:

    https://blog.csdn.net/fengyelengfeng/article/details/49361963

    做了一下改动,直接传入和返回CString。

    #include <iostream>  
    #include <string>  
    #include <fstream>  
    #include <windows.h>   
      
    using namespace std;  
      
    void GBKToUTF8(CString &strAscii)
    {  
        string s,s2;
        std::string strGBK;
        strGBK=strAscii.GetBuffer(0);
        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; 
        strAscii=strOutUTF8.c_str();
        //return strOutUTF8;
    }
      
    void UTF8ToGBK(CString &cstrUTF8)  
    {  
        string strUTF8;
        strUTF8 = cstrUTF8.GetBuffer(0);
        int len = MultiByteToWideChar(CP_UTF8, 0, strUTF8.c_str(), -1, NULL, 0);  
        unsigned short * wszGBK = new unsigned short[len + 1];  
        memset(wszGBK, 0, len * 2 + 2);  
        MultiByteToWideChar(CP_UTF8, 0, (LPCTSTR)strUTF8.c_str(), -1, wszGBK, len);  
        
        len = WideCharToMultiByte(CP_ACP, 0, wszGBK, -1, NULL, 0, NULL, NULL);  
        char *szGBK = new char[len + 1];  
        memset(szGBK, 0, len + 1);  
        WideCharToMultiByte(CP_ACP,0, wszGBK, -1, szGBK, len, NULL, NULL);  
        //strUTF8 = szGBK;  
        std::string strTemp(szGBK);  
        delete[]szGBK;  
        delete[]wszGBK;  
        cstrUTF8 = strTemp.c_str();
        //return strTemp;  
    }  

      
    int _tmain(int argc, _TCHAR* argv[])  
    {  
        //所有数据转码成UTF-8
        CString strCeramic = "测试用";
        GBKToUTF8(strCeramic);
    }

     

    展开全文
  • NULL 博文链接:https://bingyingao.iteye.com/blog/2169164
  • C语言 utf8 gbk 互转

    千次阅读 2019-10-21 15:05:34
    https://blog.csdn.net/liangzhao_jay/article/details/48289113
  • UTF-8GBK 中文显示

    2020-06-08 17:26:10
    UTF-8GBK显示,思路如下: UTF-8 转 Unicode,Unicode查表转GBK,再根据字库显示 第一步:需要了解UTF-8转UNICODE 规则 UTF-8是一种变长字节编码方式。对于某一个字符的UTF-8编码,如果只有一个字节则其最高...
  • 聊聊gbkutf8互转的乱码问题

    万次阅读 多人点赞 2018-01-16 18:07:32
    作为一个程序员,乱码问题,应该我们都有遇到,但对于这个问题,很难用一句话概括乱码是怎么一回事,具体的问题还需要具体分析。 我们知道在计算机内存中,存储的是...编码的方式太多了,utf-8utf-32、utf-16、gbk
  • oracle默认utf-8修改成zhs16gbk

    千次阅读 2016-12-02 15:27:49
    说明:因为个人安装Oracle数据库的时候编码是utf-8,现在需要修改成zhs16gbk,比较恶心人。。。具体流程如下,傻瓜式执行命令就OK了SQL*Plus: Release 11.2.0.1.0 Production on 星期一 11月 28 15:40:12 2016...
  • 有个学校oracle数据库的编码是GBK,而且库里边已经有很多生产数据了,现在想改成UTF8的,如果执行了这步操作,会出现哪些问题
  • NULL 博文链接:https://nxdjava.iteye.com/blog/2406168
  • JAVA UTF-8字符转换为GBK

    万次阅读 2018-03-30 20:22:42
    try { String gbk=URLEncoder.encode(t,"GBK"); System.out.println(gbk); } catch (UnsupportedEncodingException e) { e.printStackTrace(); }...
  • 如何将utf8转换成gbk

    2010-11-17 23:11:00
    iconv('UTF-8','GBK',$str) iconv($in_character,$out_character,$str); function gbk_to_utf8($arr,$from="GBK",$to="UTF-8"){ if(!is_array($arr)){ $arr = iconv($from,$to,$arr); }else{ ...
  • python3读取utf-8gbk文件、编码转换、测试 执行环境: cmd运行环境编码为936也就是gbk pycharm运行环境为utf-8(多字节编码) Windows 下的cmd命令行中设置环境编码: 在命令行中,输入chcp 显示当前活动代码页编号...
  • gbk转换成utf8 文件编码格式转换

    千次阅读 2020-06-10 16:16:23
    文件编码格式转换,无需下载软件,记事本打开即可 右键点击要转换的文件,找到打开方式,选择记事本打开 打开之后,点击左上角 文件——另存为 然后在右下角选择要转换的编码格式,保存文件即可 ......
  • 解决GBK字符转UTF-8乱码问题
  • Hive使用GBK等非UTF8字符集

    万次阅读 2017-01-05 15:36:02
    Hive使用GBK等非UTF8字符集
  • 通过命令窗口方式把oracle编码格式从utf-8转换为GBK,并且两者之间相互转换 以下是我的完整执行流程步骤 E:\work\develop\oracle11g_11_2_0\product\11.2.0\dbhome_1\BIN>sqlplus /nolog SQL*Plus: Release ...
  • CentOS下UTF8GBK的互转

    千次阅读 2016-02-01 16:56:06
    CentOS下GBKUtf-8编码之间的互转。
  • 主要介绍了IntelliJ IDEA 统一设置编码为utf-8编码的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • java将gbk文件批量转换成UTF-8

    热门讨论 2013-08-12 15:58:48
    在开发的时候经常碰到这样的情况,需要将原本编码格式为GBK的工程改成UTF-8来编码,设置之后,注释全都乱码了,一个一个改太麻烦,有了这个工具只用运行一下main方法,一键搞定 ps:如果是UTF-8GBK,或是其他编码...
  • php utf8编码和gbk编码相互转换

    千次阅读 2018-11-26 17:24:30
    1.utf8转换为gbk header("Content-type:text/html;charset=UTF-8"); echo $str= 'utf8gbk!'; echo '&lt;br /&gt;'; echo iconv("UTF-8","gbk//TRANSLIT",$str); //...
  • 老项目采用GBK编码格式,而新项目采用的UTF-8编码格式,如果直接把Java源代码复制到Eclipse中所有的中文信息会出现乱码。所以写了个小的方法类,将java文件的编码格式从GBKUTF-8
  • GBK项目修改成UTF-8项目

    千次阅读 2019-09-15 00:26:30
    之前讨论过如何将sqlserver项目搬迁到Mysql中,本篇来讲述下,怎么把现有GBK项目改成UTF-8项目。 一、场景 公司有两个项目,两个项目小组做的,分别用的是GBKUTF-8编码,现需要将两个项目部署在同一个服务器上...
  • 利用Notepad++和MATLAB,实现UTF-8GBK编码,快速解决MATLAB中文乱码问题

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,984
精华内容 8,393
关键字:

utf8怎么改成gbk