linux utf8 gbk,linux 查看文件编码
gbk怎么转换成utf8gbk怎么转换成utf-8
如何将gbk编码的字符串转换成utf
GBK编码的文本,将其转换为UTF的方法
1.先打开一个文档,可以是txt、doc、docx,只要是word支持的。
2.可以先检查一下这个文档当前的编码方式,点击左上角的文件,然后选择选项。
3.向下滚动到常规部分,然后单击Web选项。
4.选择编码,然后您将看到当前的编码方法。我们这边是GB2312。
5.假设你要转换成UTF-8编码,那么此时点击另存为,弹出保存的弹出框,然后点击工具选择Web选项。
6.选择相同的编码,将GB2312更改为UTF-8,然后单击“确定”。
7.点击保存后,文档解码成功。
小刚SEO为你解答。
dede模板文件UTF-8编码与GBK编码如何互相转换?
GBK(gb2312)织梦dede模板文件转换为UTF-8编码dede模板文件第一步:把每个模板的头部metahttp-equiv="Content-Type"content="text/html;charset=gb2312">改为metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>第二步:把所有的模板文件用editplus(文本编辑软件,很好用,网上很多下载)打开,选择“文档/文件编码方式/批量更改文件编码方式”菜单,然后选中全部打开的文件,然后选择utf-8,点确定,全部转化格式,即可。UTF-8编码织梦dede模板转换为GBK(gb2312)步骤同上。备注:editplus到多特或者crsky下载,很好用。
如何将WCHAR转成std:string?
C++11的std::wstring_convert配合std::codecvt模板类完全可以解决这个问题,不会出现
@vczh
所说修改了全局locale会导致污染其他库的问题。这两个模板类的功能是:
std::wstring_convert:转码器,接收一个类似codecvt描述编码转换特性的模板参数,用于将本地化的宽字符wstring和指定编码的字节化string进行互转。
std::codecvt:编码转换特性类,用在wstring_convert的模板参数中来指定使用哪种编码。
所以编码A和B互转的实现方式就是:借助本地化宽字符串,先将以A编码的string转为本地化的wstring,再将本地化的wstring转为B编码后的string。codecvt一般使用下面两个特化子类:std::codecvt_utf8wchar_t>:用于UTF8和本地化wchar_t的互转std::codecvt_bynamewchat_t,char,std::mbstate_t>:用于其他编码(例如GBK)和本地化wchar_t的互转,类的构造函数需要传入编码的localename,
由于编码的localename是操作系统决定的(例如GBK在linux下的locale名可能是"zh_CN.GBK",而windows下是".936"),因此做跨平台的话仍然要给不同的系统做适配。
这里给一个windows下,GBKstring转UTF8string的例子:首先将GBKstring转wstring
再将wstring转为UTF8string转码就完成了。utf8_str里的内容应该是"xE7x83xAB"(烫的UTF8)。
如何将许多ANSI格式的txt文档批量转换成UTF8格式?
假设你的文件是ansi(gbk),用ReplacePioneer批量转换为UTF8的方法如下:
第一步:选文件1.打开Tools->BatchRunner菜单2.点击PickFiles,用鼠标对需要处理的多个文件进行多选。
第二步:变换编码1.点击ChangeEncode按钮2.点击inputencoding,设置成CN->gbk3.点击outputencoding,设置成utf-84.点击start,完成注:如果你想把输出保存到新文件里,可以在点击Start之前修改setoutputfilename,把它从${FILENAME}改成新的规则,比如${FILENAME}.new,还要注意备份,以防操作失误。另外,你还可以把输出保存到新文件夹里。
如果你要的utf-8文件带BOM标识,需要选utf-8-BOM而不是utf-8
linux下怎么把文件转化字符集?
将gbk编码的文件转化为utf8编码,将转化后的结果存到file.utf8中
iconv-fgbk-tutf8file.gbk-ofile.utf8
从oracle中取出的数据是gbk字符集格式的,如何转换成UTF-8字符集?
Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。
它使数据库工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适应本地化语言和平台。影响Oracle数据库字符集最重要的参数是NLS_LANG参数。它的格式如下:NLS_LANG=language_territory.charset它有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。
其中:Language:指定服务器消息的语言,影响提示信息是中文还是英文Territory:指定服务器的日期和数字格式,Charset:指定字符集。如:AMERICAN_AMERICA.ZHS16GBK从NLS_LANG的组成我们可以看出,真正影响数据库字符集的其实是第三部分。所以两个数据库之间的字符集只要第三部分一样就可以相互导入导出数据,前面影响的只是提示信息是中文还是英文。
php中gbk怎么转为utf8
php中可以使用iconv()函数来将gbk编码转为utf8编码;iconv函数可以将一种已知的字符集文件转换成另一种已知的字符集文件,语法格式“iconv('GBK''UTF-8'字符串)”。
推荐:《PHP视频教程》
php中将gbk转为utf8
php中,可以使用iconv()函数来将gbk转为utf8。
iconv函数可以将一种已知的字符集文件转换成另一种已知的字符集文件。例如:从GB2312转换为UTF-8。
iconv函数在php5中内置,GB字符集默认打开。
示例:
<phpheader("Content-type:text/html;charset=GB2312");echo$str='你好,这里是gbk转utf8!'echo'<br/>'echo iconv('GB2312''UTF-8'$str);//将字符串的编码从GB2312转到UTF-8
说明:php iconv函数
php中的iconv函数库能够完成各种字符集间的转换,是php编程中不可缺少的基础函数库;但有时候iconv对于部分数据转码会无缘无故的少一些。比如在转换字符"—"到gb2312时会出错。
下面一起慢慢看一下这个函数的用法。
最简单的应用,把gb2312置换成utf-8:
$text=iconv("GB2312""UTF-8"$text);
在用$text=iconv("UTF-8""GB2312"$text)过程中,如果遇到一些特别字符时,如:"—"英文名中的""等等字符,转换就断掉了。这些字符后的文字都没法继续转换了。
针对这的问题,可以用如下代码实现:
$text=iconv("UTF-8""GBK"$text);
你没有看错,就这么简单,不使用gb2312,而写成GBK,就可以了。
还有一种方法,第二个参数,加上//IGNORE,忽略错误,如下:
iconv("UTF-8""GB2312//IGNORE"$data);
没有具体比较这两种方法,感觉第一种(GBK代替gb2312)方法更好。
php手册中iconv()说明:
iconv
(PHP 4>= 4.0.5, PHP 5)
iconv– Convert string to requested character encoding
Description
string iconv( string in_charset, string out_charset, string str)
Performs a character set conversion on the string str from in_charset to out_charset. Returns the converted string or FALSE on failure.
If you append the string//TRANSLIT to out_charset transliteration is activated. This means that when a character can't be represented in the target charset, it can be approximated through one or several similarly looking characters. If you append the string//IGNORE, characters that cannot be represented in the target charset are silently discarded. Otherwise, str is cut from the first illegal character.
在使用这个函数进行字符串编码转换时,需要注意,如果将utf-8转换为gb2312时,可能会出现字符串被截断的情况发生。此时可以使用以下方法解决:
$str=iconv('utf-8'"gb2312//TRANSLIT"file_get_contents($filepath));
即在第二个参数出添加红色字部分,表示:如果在目标编码中找不到与源编码相匹配的字符,会选择相似的字符进行转换。此处也可以使用://IGNORE这个参数,表示忽略不能转换的字符。
ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符串都无法被保存。
iconv不是php的默认函数,也是默认安装的模块。需要安装才能用的。
如果是windows2000+php,你可以修改php.ini文件,将extension=php_iconv.dll前的""去掉,同时你要copy你的原php安装文件下的iconv.dll到你的winnt/system32下(如果你的dll指向的是这个目录)。在linux环境下,用静态安装的方式,在configure时加多一项--with-iconv就可以了,phpinfo看得到iconv的项。(Linux7.3+Apache4.06+php4.3.2)。
mb_convert_encoding与iconv函数介绍
mb_convert_encoding这个函数是用来转换编码的。原来一直对程序编码这一概念不理解,不过现在好像有点开窍了。不过英文一般不会存在编码问题,只有中文数据才会有这个问题。比如你用Zend Studio或Editplus写程序时,用的是gbk编码,如果数据需要入数据库,而数据库的编码为utf8时,这时就要把数据进行编码转换,不然进到数据库就会变成乱码。
做一个GBK To UTF-8:
<php header("content-Type: text/html; charset=Utf-8"); echo mb_convert_encoding("你系我的友仔""UTF-8""GBK");?>
再来个GB2312 To Big5:
<php header("content-Type: text/html; charset=big5"); echo mb_convert_encoding("你是我的朋友""big5""GB2312");?>
不过要使用上面的函数需要安装但是需要先enable mbstring扩展库。
string mb_convert_encoding( string str, string to_encoding [, mixed from_encoding])需要先enable mbstring扩展库,在 php.ini里将; extension=php_mbstring.dll前面的;去掉mb_convert_encoding可以指定多种输入编码,它会根据内容自动识别,但是执行效率比iconv差太多;
string iconv( string in_charset, string out_charset, string str)注意:第二个参数,除了可以指定要转化到的编码以外,还可以增加两个后缀://TRANSLIT和//IGNORE,其中//TRANSLIT会自动将不能直接转化的字符变成一个或多个近似的字符,//IGNORE会忽略掉不能转化的字符,而默认效果是从第一个非法字符截断。
一般情况下用 iconv,只有当遇到无法确定原编码是何种编码,或者iconv转化后无法正常显示时才用mb_convert_encoding函数。
$content= iconv("GBK""UTF-8″,$content);$content= mb_convert_encoding($content,"UTF-8″,"
更多编程相关知识,请访问:编程学习课程!
utf8和gbk可以直接转换么
JS中的字符串本身就是以字符来存储,而非字节,所以没有所谓的gbk或utf8;而encodeURI本身就会把字串以utf8编码进行url编码;想要以gbk形式转换,就应该以Buffer来按字节处理。应该这样写:var titleBuffer= new Iconv('UTF-8','GBK').convert('数学');//不要toString,直接以字节数组形式存于buffer。
(1)utf8_encode是PowerBuilder的函数,该函数将data字符串转换为 UTF-8编码,并返回编码后的字符串。UTF-8是一种用于将宽字符值转换为字节流的 Unicode的标准机制。
(2)GBK即汉字内码扩展规范,K为扩展的汉语拼音中"扩"字的声母。英文全称Chinese Internal Code Specification。GBK编码标准兼容GB2312,共收录汉字21003个、符号883个,并提供1894个造字码位,简、繁体字融于一库。GB2312码是中华人民共和国国家汉字信息交换用编码,全称《信息交换用汉字编码字符集--基本集》,1980年由国家标准总局发布。基本集共收入汉字6763个和非汉字图形字符682个,通行于中国大陆。新加坡等地也使用此编码。GBK是对GB2312-80的扩展,也就是CP936字码表(Code Page 936)的扩展(之前CP936和GB 2312-80一模一样)。