如何解决GBK转换为UTF8中出现的偶数字符可以,奇数字符乱码的问题

问题描述

输入GBK编码的“园:”(半角的冒号)转换出来utf8是乱码,若输入“园园:”则转换正常。Strings=newString(str.getBytes("GBK"),"UTF-8");请教各位如何解决

解决方案

解决方案二:
GBK是2个字节UTF-8是3个字节
解决方案三:
引用楼主chao2003的回复:

输入GBK编码的“园:”(半角的冒号)转换出来utf8是乱码,若输入“园园:”则转换正常。Strings=newString(str.getBytes("GBK"),"UTF-8");请教各位如何解决

谁跟你说在不同的编码之间可以这样转换的?除非str本身就是UTF-8的而被错误编码成GBK了
解决方案四:
即使UTF-8的字节数组,被误组成GBKString也不一定能用newString(str.getBytes("GBK"),"UTF-8");得到原目标串===================随便就用Strings=newString(str.getBytes("GBK"),"UTF-8");哪能保证不出乱子
解决方案五:
奇数的时候加个字,变成偶数,转完再去掉这个字.
解决方案六:
路过...
解决方案七:
java中字符都是用unicode进行编码的,不同编码之间不可以转换
解决方案八:
遇到同样问题,学习

时间: 2024-12-27 23:14:35

如何解决GBK转换为UTF8中出现的偶数字符可以,奇数字符乱码的问题的相关文章

PHP中iconv函数字符串从GBK转换为UTF8字符集

PHP中iconv函数字符串从GBK转换为UTF8字符集 1. iconv()介绍 iconv函数可以将一种已知的字符集文件转换成另一种已知的字符集文件.例如:从GB2312转换为UTF-8. iconv函数在php教程5中内置,GB字符集默认打开. 2. iconv()错误 iconv在转换字符"-"到gb2312时会出错,解决方法是在需要转成的编码后加 "//IGNORE",也就是iconv函数第二个参数后.如下: iconv("UTF-8"

用convert函数解决GBK转UTF8后ORACLE数据库排序混乱问题

用convert函数解决GBK转UTF8后ORACLE数据库排序问题 问题语句: Select Name From whm_consignee Order By Name; 解决方案:解决思路:把UTF8编码转变成GB2312即可实现对高频词的排序 Select Name From whm_consignee Order By convert(Name,'ZHS16CGB231280','UTF8') ;

PHP通过iconv将字符串从GBK转换为UTF8字符集_php技巧

1. iconv()介绍 iconv函数可以将一种已知的字符集文件转换成另一种已知的字符集文件.例如:从GB2312转换为UTF-8. iconv函数在php5中内置,GB字符集默认打开. 2. iconv()错误 iconv在转换字符"-"到gb2312时会出错,解决方法是在需要转成的编码后加 "//IGNORE",也就是iconv函数第二个参数后.如下: 复制代码 代码如下: iconv("UTF-8", "GB2312//IGNO

理解并解决GBK转UTF-8奇数中文乱码(转)

最近在做一个反馈功能,把数据反馈到对方公司网站,我公司是GBK编码,对方公司是UTF-8编码.因此,我需要将GBK编码数据转换成UTF-8编码数据,这样对方网站才不会乱码.最简单的方法是将HttpClient的ContentCharset设置为utf-8:如果ContentCharset是gbk并且又不想设置为utf-8,那么就需要将数据转换成UTF-8编码再发到对方网站.   问题出现:GBK转UTF-8时,奇数个中文会乱码,偶数个中文不会乱码.三个中文 Java代码   public sta

jdbc-数据在数据库中查询显示是中文,输出到页面转换为utf-8之后,输出为乱码,求解

问题描述 数据在数据库中查询显示是中文,输出到页面转换为utf-8之后,输出为乱码,求解 <%@page import="java.sql.ResultSet"%> <%@page import="java.sql.Statement"%> <%@page import="java.sql.DriverManager"%> <%@page import="java.sql.Connection&

charset中gbk或utf8对seo的影响

看到有人问gbk和utf-8对于seo的影响,我说点个人看法. 如果网站是面向国人的,建议使用gbk,理由如下: 1.gbk采用双字节表示汉字,utf-8采用三个字节表示汉字,从表示一个汉字所占的字节数来说,gbk相对于utf-8可以节约50%的空间. 2.目前开源的程序gbk编码相对成熟一些. 3.蜘蛛在爬行某个页面的过程中识别的charset属性值如果为gbk的话基本上可以确实为中文类型的网站(无需对后面的内容进行判断),如果为utf-8的话还需要进一步判断(例如检索全文中的字符有多少属于u

服务器-Tomcat是不是自动解决了get提交中utf-8的乱码问题

问题描述 Tomcat是不是自动解决了get提交中utf-8的乱码问题 如题,小弟新手,最近看教学视频说用get提交的表单会产生乱码问题,所以要在服务器端用ios8859-1先编码一次,再用utf-8解码一次, 但是在小弟测试的过程中,并没有产生这个问题.也只有在post提交中需要request.setCharacterEncodeing("utf-8")一下. 所以有点困惑,现在到底还需不需要在get提交之后解决中文乱码问题? 解决方案 需要的,如果你项目发布使用的不是Tomcat怎

php gbk转换utf8丢失字符与乱码解决办法

一.编码范围 1. GBK (GB2312/GB18030) x00-xff GBK双字节编码范围 x20-x7f ASCII xa1-xff 中文 x80-xff 中文 2. UTF-8 (Unicode) u4e00-u9fa5 (中文) x3130-x318F (韩文 xAC00-xD7A3 (韩文) u0800-u4e00 (日文) ps: 韩文是大于[u9fa5]的字符 例  代码如下 复制代码 $c = '测试•字符传换•五一快乐!'; echo iconv('utf-8', 'gb

gbk与utf-8的详细区别

GB 2312或GB 2312-80是一个简体中文字符集的中国国家标准,全称为<信息交换用汉字编码字符集·基本集>,又称为GB0,由中国国家标准总局发布,1981年5月1日实施.GB2312编码通行于中国大陆;新加坡等地也采用此编码.中国大陆几乎所有的中文系统和国际化的软件都支持GB 2312. GB 2312标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008个;同时,GB 2312收录了包括拉丁字母.希腊字母.日文平假名及片假名字母.俄语西里尔字母在内的682个全角字符. G