﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-栖息地-随笔分类-html</title><link>http://www.blogjava.net/drecry/category/39274.html</link><description>家园</description><language>zh-cn</language><lastBuildDate>Fri, 01 May 2009 12:23:13 GMT</lastBuildDate><pubDate>Fri, 01 May 2009 12:23:13 GMT</pubDate><ttl>60</ttl><item><title>几种乱码问题（转）</title><link>http://www.blogjava.net/drecry/archive/2009/05/01/268534.html</link><dc:creator>王宏利</dc:creator><author>王宏利</author><pubDate>Fri, 01 May 2009 10:12:00 GMT</pubDate><guid>http://www.blogjava.net/drecry/archive/2009/05/01/268534.html</guid><wfw:comment>http://www.blogjava.net/drecry/comments/268534.html</wfw:comment><comments>http://www.blogjava.net/drecry/archive/2009/05/01/268534.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/drecry/comments/commentRss/268534.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/drecry/services/trackbacks/268534.html</trackback:ping><description><![CDATA[<div id="NewsContentLabel" class="NewsContent">
<p>用什么编辑器可以使xml文件的中文变成UTF-8乱码&nbsp;&nbsp;&nbsp; <br />
我把g b2312改成UTF-8浏览器提示出错~~~</p>
<p>最简单的Word应该可以完成转换，另外UE和Edit++都支持转换</p>
<p>=======================================================</p>
<p>在写一个东东,是sqlserver后台,用utf-8编码,一直是刚出来还可,一刷新就成乱码了,以为是sql的原因,一次
把&lt;title&gt;&lt;/title&gt;里的全删了,就没问题了,后来发现,最好把&lt;META
http-equiv=Content-Type content="textHtml;
charset=utf-8"&gt;放在title前,不然有些还是会错!<img src="http://www.zaoxue.com/article/readcourse/bianchengwendang/ASP/down_info.asp?id=36128" alt="" onload="return imgresize(this);" style="cursor: pointer;" onclick="javascript:window.open(this.src);" border="0" height="1" width="1" /><br />
=======================================================</p>
<p>为每个jsp页面设置了其编码格式(utf-8)，但传递数据到另一页面时依然显示为乱码？　　首先要需要了解的是web容器默认编码是iso-
8859-1，一个汉字占用两个字节，而在utf-8中一个汉字占用三个字节。所以在数据传递过程中，必须手动设定容器编码格式，否则会出现字符位丢失的
情况。即3个字节变为两个字节，自然会变成乱码。为什么保存到数据库中的数据都变成了乱码？　　原理同上，首先要搞清楚使用的数据库默认的编码格式，比如
mysql默认的字符编码是ISO-8859-1。所以必须手动修改其默认编码格式。　　清楚了以上问题后，再来看如何解决utf-8的乱码问题。<br />
1:设置web容器的编码格式。为你的servlet的doGet或doPost方法开始处加入如下代码：request.setCharacterEncoding("utf-8");<br />
&nbsp;&nbsp; response.setCharacterEncoding("utf-8");<br />
<br />
2:为每个jsp页面指定其编码格式。&lt;%@ page pageEncoding="utf-8"%&gt;<br />
<br />
3:在连接数据库用的URL后加入：useUnicode=true;characterEncoding=utf-8　如：　　url="jdbc:mysql:///db1?useUnicode=true;characterEncoding=utf-8"，<br />
<br />
4:为指定数据库默认编码格式。在C:\WINDOWS目录下找到my.ini文件，并在[mysqld]中加入default-character-
set=gbk，重新启动mysql服务。　　至此，乱码问题全部解决。起初总搞上去不清，为什么要将mysql的默认编码格式设置为gbk，后来由相关
的资料得知utf-8默认输入编码方式为gbk，默认输出编码方式为utf-16be。　　个人认为，将数据进行utf-8进行编码的目的(即将中文编码
为％的形式)，主要是为了在多层服务间进行数据传输时，防止发生字符丢失(如msn)。普通的web程序显然没有必要这样做，只要使用以上方法进行处理，
就可以有效的解决乱码问题，从而结省存储空间。如果都像公司的SC系统那样，将一个汉字编码为18个字符后，再存储到数据库中，抛开效率不说，就存储空间
的浪费就够人受的，要知道，那是需要银子地！<br />
========================================================</p>
<p>ASP动态网页下UTF-8页面乱码的解决方法</p>
<p>为什么在ASP里指定了codepage为65001还经常显示乱码。才子在这里将这个问题详细解释一下，以免很多朋友再走弯路，甚至排斥UTF-8。</p>
<p><br />
如果你还不知道UTF-8是什么东东，那才子建议你先去搜索一下UTF-8的相关资料吧。</p>
<p><br />
UTF-8编码之所以被越来越多的人接受甚至喜欢，肯定是有道理的，在WEB2.0盛行的今天，在大谈多浏览器兼容的同时，不得不想到字符编码不同所造成的乱码现象同样需要得到很好的处理..... CHINAZ</p>
<p>在N年以前,IE6以下的所有版本，只要没有安装相应的字库，访问相关的页面都是会乱码的，例如，我是IE5 (Windows2000默认)
的版本，在没有安装IE繁体字库的情况下，访问任何繁体页面的网站都是会乱码的，当然前提是该页面采用了BIG5的Charset，而UTF-8作为一种
国际编码就能很好的处理该问题，只要将页面存为UTF-8编码格式，再在页面上将codepage及charset全部定义为utf-8就可以在任何客户
端浏览器中显示出完全正确的内容，完全不会乱码......</p>
<p><br />
好了，这里以ASP页面为例，以一个实例来看具体操作吧：</p>
<p>打开新建一个ASP页面，相信玩ASP的朋友都会留意到，许多下载的<a target="_blank" href="http://www.yscode.com/" class="UBBWordLink">源码</a>里，页面最上方一般都有一句：</p>
<p><br />
以下为引用的内容：</p>
<p>%@LANGUAGE="VBSCRIPT" CODEPAGE="936"% CHINAZ <br />
&nbsp;<br />
CHINAZ</p>
<p>前面的language应该不用多说了，vbscript就是ASP默认的脚本语言，其实完全可以不用写，写了好像还会影响页面执行效率，在这里我
们先不讨论这个问题。后面的codepage就是关键了，目的就是告诉浏览器，此页面是何种编码，936代表是简体中文，而950代表繁体中
文，65001就是我们今天说的UTF-8编码了。我们将936改成65001。整句如下： CHINAZ</p>
<p>以下为引用的内容：</p>
<p>%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"% <br />
&nbsp;</p>
<p>再加上输出几个中文字看看能不能正确显示吧。 CHINAZ</p>
<p>以下为引用的内容：<br />
&lt;% <br />
Response.Write "第一次测试UTF-8页面" <br />
%&gt;&nbsp; <br />
<br />
OK，直接点击&#8220;保存&#8221;，执行这个页面看看，如果不出意外，大家可能看到显示出的是 &#8220;一尾UTF-8页&#8221;这几个字，中文有乱码的现象，什么原因呢？</p>
<p>OK，请大家再点击最上面的 "文件"
菜单，选择"另存为"，最下面一行有个编码，默认应该是ANSI的，请大家点下拉框，选择UTF-8，再点保存，再执行试试看，如果不出意外，乱得更厉害
了，呵呵，晕了吧。别急，想想原因，因为我们做的页面是HTML返回的，以前我们写HTML时，看到body前面，也就是head里都有一句meta，应
该是这样的：&nbsp;</p>
<p>以下为引用的内容：<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&gt;&nbsp; <br />
<br />
也就是指定页面以gb2312编码返回结果，一定要写在有返回结果输出的前面。大家都知道gb2312是简体中文吧，我们今天说的是UTF-8编码，我们就将gb2312改成UTF-8吧，全部代码如下： CHINAZ</p>
<p>以下为引用的内容：<br />
&lt;%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%&gt; <br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&gt; <br />
&lt;% <br />
Response.Write "第一次测试UTF-8页面" <br />
%&gt;&nbsp; <br />
<br />
</p>
<p><strong>一，文件没有存为对应的格式，</strong></p>
<p>可能有网友认为将META元标记的解码方式改一下，就可以实现GB2312转UTF-8，或者UTF-8转GB2312，这其实是错误的，虽然你把
GB2312编码的网页的Meta标记改为了Utf-8，但这样的操作会让你发现网页出现了乱码。究其原因你文件编码格式还是gb2312的，这时你应把
文件存为utf-8，再改meta标记的解码方式。对于将文件存为utf-8，很多朋友可能会用记事本去操作，我不建议这样去做，因为用记事本转换的编码
而做的网页会在W3C效验时出现BOM错误，具体如下</p>
<p>Byte-Order Mark found in UTF-8 File. The Unicode Byte-Order Mark
(BOM) in UTF-8 encoded files is known to cause problems for some text
editors and older browsers. You may want to consider avoiding its use
until it is better supported.</p>
<p>你可以用比较新版本的editplus和ultraedit都可以选择保存为无BOM的utf-8格式。</p>
<p><strong>二，文件缺少必要的标识</strong></p>
<p>检查Html标记里有没有如下</p>
<p>&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;</p>
<p>检查XML文档里有没有</p>
<p>&lt;?xml version="1.0" encoding="utf-8"?&gt;</p>
<p>utf-8或者gb2312，看你文档的编码。</p>
<p>如果是ASP动态页面，最好加上以下几句</p>
<p>以下为相关html文档</p>
<p>&nbsp;&lt;%@ LANGUAGE = "VBScript" CodePage = "65001"%&gt;</p>
<p>CodePage = "65001"中的65001代表是UTF-8编码的文档，GB2312编码的是936</p>
<p>以下为相关vbscript文档</p>
<p>&nbsp;Session.CodePage=65001</p>
<p>另外网上还有如下的ASP代码，我没试过</p>
<p>以下为相关vbscript文档</p>
<p>&nbsp;Response.Charset="utf-8"</p>
<p><br />
</p>
<p><br />
结论：采用UTF-8编码，除了要将文件另存为UTF-8格式之外，还需要同时指定codepage及charset。</p>
</div>
<img src ="http://www.blogjava.net/drecry/aggbug/268534.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/drecry/" target="_blank">王宏利</a> 2009-05-01 18:12 <a href="http://www.blogjava.net/drecry/archive/2009/05/01/268534.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Meta的http-equiv属性详解</title><link>http://www.blogjava.net/drecry/archive/2009/04/29/268066.html</link><dc:creator>王宏利</dc:creator><author>王宏利</author><pubDate>Wed, 29 Apr 2009 03:00:00 GMT</pubDate><guid>http://www.blogjava.net/drecry/archive/2009/04/29/268066.html</guid><wfw:comment>http://www.blogjava.net/drecry/comments/268066.html</wfw:comment><comments>http://www.blogjava.net/drecry/archive/2009/04/29/268066.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/drecry/comments/commentRss/268066.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/drecry/services/trackbacks/268066.html</trackback:ping><description><![CDATA[http-equiv顾名思义，相当于http的文件头作用，它可以向浏览器传回一些有用的信息，以帮助正确和精确地显示网页内容，与之对应的属性值为content，content中的内容其实就是各个参数的变量值。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  meat标签的http-equiv属性语法格式是：＜meta http-equiv="参数" content="参数变量值"＞ ；其中http-equiv属性主要有以下几种参数：<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  1、Expires(期限)<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  说明：可以用于设定网页的到期时间。一旦网页过期，必须到服务器上重新传输。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  用法：＜meta http-equiv="expires" content="Wed, 20 Jun 2007 22:33:00 GMT"＞<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  注意：必须使用GMT的时间格式。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  2、Pragma(cache模式)<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  说明：禁止浏览器颖镜丶扑慊 幕捍嬷蟹梦室趁婺谌荨?br&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  用法：＜meta http-equiv="Pragma" content="no-cache"＞<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  注意：这样设定，访问者将无法脱机浏览。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  3、Refresh(刷新)<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  说明：自动刷新并指向新页面。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  用法：＜meta http-equiv="Refresh" content="2；URL=http://www.net.cn/"＞<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  注意：其中的2是指停留2秒钟后自动刷新到URL网址。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  4、Set-Cookie(cookie设定)<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  说明：如果网页过期，那么存盘的cookie将被删除。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用法：＜meta http-equiv="Set-Cookie" content="cookievalue=xxx;
expires=Wednesday, 20-Jun-2007 22:33:00 GMT； path=/"＞<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  注意：必须使用GMT的时间格式。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  5、Window-target(显示窗口的设定)<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  说明：强制页面在当前窗口以独立页面显示。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  用法：＜meta http-equiv="Window-target" content="_top"＞<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  注意：用来防止别人在框架里调用自己的页面。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  6、content-Type(显示字符集的设定)<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  说明：设定页面使用的字符集。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  用法：＜meta http-equiv="content-Type" content="text/html; charset=gb2312"＞<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  7、Pics-label(网页等级评定)<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  用法：&lt;meta http-equiv="Pics-label" contect=""&gt;网页等级评定<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  说明：在IE的internet选项中有一项内容设置，可以防止浏览一些受限制的网站，而网站的限制级别就是通过meta属性来设置的。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  还有Page_Enter、Page_Exit&#8230;&#8230;<br />
<br />
<br />
补充：<br />
<br />
设定进入页面时的特殊效果&lt;meta&nbsp;&nbsp;&nbsp;  http-equiv="Page-Enter"&nbsp;&nbsp;&nbsp;  contect="revealTrans(duration=1.0,transtion=&nbsp;&nbsp;&nbsp;  12)"&gt;&nbsp;&nbsp;<br />
设定离开页面时的特殊效果&lt;meta&nbsp;&nbsp;&nbsp;  http-equiv="Page-Exit"&nbsp;&nbsp;&nbsp;  contect="revealTrans(duration=1.0,transtion=&nbsp;&nbsp;&nbsp;  12)"&gt;&nbsp;&nbsp;<br />
<br />
Duration的值为网页动态过渡的时间，单位为秒。&nbsp;&nbsp;<br />
Transition是过渡方式，它的值为0到23，分别对应24种过渡方式。如下表：&nbsp;&nbsp;<br />
0&nbsp;&nbsp;&nbsp;  盒状收缩&nbsp;&nbsp;&nbsp;  1&nbsp;&nbsp;&nbsp;  盒状放射&nbsp;&nbsp;<br />
2&nbsp;&nbsp;&nbsp;  圆形收缩&nbsp;&nbsp;&nbsp;  3&nbsp;&nbsp;&nbsp;  圆形放射&nbsp;&nbsp;<br />
4&nbsp;&nbsp;&nbsp;  由下往上&nbsp;&nbsp;&nbsp;  5&nbsp;&nbsp;&nbsp;  由上往下&nbsp;&nbsp;<br />
6&nbsp;&nbsp;&nbsp;  从左至右&nbsp;&nbsp;&nbsp;  7&nbsp;&nbsp;&nbsp;  从右至左&nbsp;&nbsp;<br />
8&nbsp;&nbsp;&nbsp;  垂直百叶窗&nbsp;&nbsp;&nbsp;  9&nbsp;&nbsp;&nbsp;  水平百叶窗&nbsp;&nbsp;<br />
10&nbsp;&nbsp;&nbsp;  水平格状百叶窗&nbsp;&nbsp;&nbsp;  11垂直格状百叶窗&nbsp;&nbsp;<br />
12&nbsp;&nbsp;&nbsp;  随意溶解&nbsp;&nbsp;&nbsp;  13从左右两端向中间展开&nbsp;&nbsp;<br />
14从中间向左右两端展开&nbsp;&nbsp;&nbsp;  15从上下两端向中间展开&nbsp;&nbsp;<br />
16从中间向上下两端展开&nbsp;&nbsp;&nbsp;  17&nbsp;&nbsp;&nbsp;  从右上角向左下角展开&nbsp;&nbsp;<br />
18&nbsp;&nbsp;&nbsp;  从右下角向左上角展开&nbsp;&nbsp;&nbsp;  19&nbsp;&nbsp;&nbsp;  从左上角向右下角展开&nbsp;&nbsp;<br />
20&nbsp;&nbsp;&nbsp;  从左下角向右上角展开&nbsp;&nbsp;&nbsp;  21&nbsp;&nbsp;&nbsp;  水平线状展开&nbsp;&nbsp;<br />
22&nbsp;&nbsp;&nbsp;  垂直线状展开&nbsp;&nbsp;&nbsp;  23&nbsp;&nbsp;&nbsp;  随机产生一种过渡方式&nbsp;&nbsp;
<img src ="http://www.blogjava.net/drecry/aggbug/268066.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/drecry/" target="_blank">王宏利</a> 2009-04-29 11:00 <a href="http://www.blogjava.net/drecry/archive/2009/04/29/268066.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>