UTF8怎么换成GBK

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UTF8怎么换成GBK相关的知识,希望对你有一定的参考价值。

你好 希望能帮到你

工具:电脑  易语言

怎么将utf8转换gbk编码:

    1、首先,运行易语言,在弹出的新建工程文件对话框中,选择“Windows窗口程序”并点击“确定”按钮。进入“Windows窗口程序”设计界面。

    2、然后,在窗口上绘制标签组件、编辑框组件各两个,按钮组件一个。调整好组件之间的相对位置。如图 :

    3、修改窗口、标签、按钮等组件的标题为相应内容,规范命名编辑框组件、按钮组件的名称

    4、界面搭建完毕,规范命名已完成。进入编写代码阶段。此次程序测试用到的命令时编码转换(),请注意命令的各参数数据类型。具体代码如图:

    5、代码编写完毕,进入程序测试阶段。运行程序,将utf8编码的数据填入指定编辑框中,点击“utf8->gbk”按钮,查看gbk编辑框中的内容变化。如图:

    注意事项

    使用编码转换_转换()命令前,一定要先执行编码转换_打开()。

    注意:编码转换_转换()的句柄参数数据类型是整数型。

www.ddooo.com/softdown/22630.htm

参考技术A 把config.php中的$_SC['dbcharset'] = 'utf8';修改为$_SC['dbcharset'] = 'gbk'; 然后再后台备份数据,再上传gbk的程序把备份好的数据放在./data/backup_/到后台恢复。 切记操作前先不要改config.php文件备份下数据库 uc也要转换为gbk,以及uc下所有应用都要转换为gbk,不然容易产生乱码的情况本回答被提问者采纳

JAVA工程源文件是UTF8的,现在要调用dll传消息,而DLL只能接收GBK编码的消息,这种情况怎么办?

工程文件太多没法转换为GBK的编码

参考技术A 你可以自己写一个编码转换函数,将UTF-8转换为GBK的,UTF-8 是用三个字节表示一个汉字,GBK是用两个字节。具体的对应关系网上很多,自己查一个吧。很好写的,我以前写过。 参考技术B 转码就行了比如字符串s是GBK的
则可以用
String ss=new String(s.getBytes("GBK"),"UFT-8");
把s转成UTF-8编码的。追问

感谢回复,这个问题困扰我很久了。
我的JAVA源文件不是GBK的,s也就是UTF8的, 假设要传给DLL的消息是 "测试" ,这个消息必须是GBK的,DLL才能接收。JAVA中能用代码临时修改字符集吗?不然我的先把测试两个的GBK转为UTF8的编码 "娴嬭瘯"传给DLL,DLL才能正确知道是”测试“两个字,而我要传的消息是动态的,那就每次传都得转换了,这样不现实,DLL我们也不能修改。

追答

java中编译后字符编码就确定了,不能再更改,除非重新编译。
如果是你想传给DLL 你的java是UTF的话就
String s=”测试“;
String ss=new String(s.getBytes("UTF-8"),"GBK");

然后把ss传给DLL DLL接收的就是GBK编码的测试两个字。
至于每次转换麻烦完全可以自己写一个转换字符串编码的方法用来处理就行了
比如
public String utfToGbk(String s)
return new String(s.getBytes("UTF-8"),"GBK");


每次就只用s=utfToGbk(s);就把s转成GBK的了。

仔细研究了一下
String ss=new String(s.getBytes("UTF-8"),"GBK");
这种方法是错误的。不能误导大家。

参考技术C 工程源文件和编码有什么关系,你如何用java调用dll,jni?如果是内部编码用了GBK,而输出部分要求UTF-8,而且需要修改的地方非常多的话,建议看一下AOP追问

感谢各位回复
用的JNA调用的DLL,我用eclipse (源文件GBK编码) 调用是没问题的,后来用NETBEANS去调同样的代码就不行了,而NETBEANS的源文件编码为UTF8。如果改为GBK去调也是没问题的,问题是NETBEANS工程的其他文件原来都是按UTF8编码的,换成GBK所有的中文得全部修改,这个几乎是没法办到的。不知道哪位高手碰到过这种情况。实在不行只能重新包一下他们的DLL了。

追答

你代码里面用了中文?这个应该不困难,可以通过转码,把所有文件转换成UTF-8编码,最简单的用文本编辑器就能做到,但是一个一个来还是挺麻烦的。我觉得你自己写个批量的编码转换,搞定了再导入进NetBeans

追问

NETBEAN中的工程是用SWING写的,中间很多控件有中文。如果是直接在NETBEAN中调整源的编码从UTF-8至GBK 很多中文会变为乱码。而且文件太多,真是不敢转换!你说的批量转还没试过,可以一试,非常感谢你的回复

追答

如果数据量很大,用java那个很2的i18n还是值得的,虽说麻烦,可以有效地对付各种编码问题,并且维护起来也容易

参考技术D dll文件是自己写的吗?对dll这个比较感兴趣 但是不会 求解!追问

不是自己写的 是一个短信猫动态库,厂家提供的。

以上是关于UTF8怎么换成GBK的主要内容,如果未能解决你的问题,请参考以下文章

java数据库中文乱码怎么解决

mysql怎么汉字变 ??

什么是UTF8数据导出到Excel的最佳方法是什么

遇到doxygen生成的chm文档目录如果有中文是乱码?

删除utf8范围之外的数据

iso-8859-1 是啥编码