日期:2014-05-17  浏览次数:20674 次

GBK和UTF-8实质区别是什么
在jsp中设置是GBK,没有写解决中文乱码问题,从jsp页面传到数据库中的数据没有乱码,但是我写了一个add()方法,保存到oracle数据库中的数据却是乱码;然后我就想办法解决,把编码格式改成“utf-8”,结果还是出现乱码。我就在web.xml文件中写了解决乱码的问题,但是还出现乱码。不知道是什么情况产生乱码了。请大家帮忙解决,谢谢...

------解决方案--------------------
有问题问百度:

字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1。

至于UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。对于英文字符较多的论坛则用UTF-8节省空间。

GBK包含全部中文字符;UTF-8则包含全世界所有国家需要用到的字符。

GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准)
UTF-8编码的文字可以在各国各种支持UTF8字符集的浏览器上显示。
比如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,而无需他们下载IE的中文语言支持包。 所以,对于英文比较多的论坛 ,使用GBK则每个字符占用2个字节,而使用UTF-8英文却只占一个字节。

UTF8是国际编码,它的通用性比较好,外国人也可以浏览论坛,GBK是国家编码,通用性比UTF8差,不过UTF8占用的数据库比GBK大~
------解决方案--------------------
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'MyJsp.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
//在jsp文件中插入下面这句话试试,然后把所有编码格式全改为UTF—8
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>
  
<body>
------解决方案--------------------
UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。对于英文字符较多的论坛则用UTF-8节省空间。

GBK包含全部中文字符;UTF-8则包含全世界所有国家需要用到的字符。

GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准)
UTF-8编码的文字可以在各国各种支持UTF8字符集的浏览器上显示。
比如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,而无需他们下载IE的中文语言支持包。 所以,对于英文比较多的论坛 ,使用GBK则每个字符占用2个字节,而使用UTF-8英文却只占一个字节。

UTF8是国际编码,它的通用性比较好,外国人也可以浏览论坛,GBK是国家编码,通用性比UTF8差,不过UTF8占用的数据库比GBK大~
------解决方案--------------------
GBK与UTF-8的区别

GBK的文字编码是双字节来表示的,即不论中、英文字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1。 

至于UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。对于英文字符较多的论坛则用UTF-8节省空间。 

GBK包含全部中文字符; 
UTF-8则包含全世界所有国家需要用到的字符。 

GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准) 
UTF-8编码的文字可以在各国各种支持UTF8字符集的浏览器上显示。 
比如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,而无需他们下载IE的中文语言支持包。 所以,对于英文比较多的论坛 ,使用GBK则每个字符占用2个字节,而使用UTF-8英文却只占一个字节。 

UTF8是国际编码,它的通用性比较好,外国人也可以浏览论坛 
GBK是国家编码,通用性比UTF8差,不过UTF8占用的数据库比GBK大~ 

GB2312是GBK的子集,GBK是GB18030的子集 
GBK是包括中日韩字符的大字符集合 
如果是中文的网站 推荐GB2312 GBK有时还是有点问题 
为了避免所有乱码问题,应该采用UTF-8,将来要支持国际化也非常方便 
UTF-8可以看作是大字符集,它包含了大部分文字的编码。 
使用UTF-8的一个好处是其他地区的用户(如香港台湾)无需安装简体中文支持就能正常观看你的文字而不会出现乱码