<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>随网之舞编码</title>
	<atom:link href="http://dancewithnet.com/tag/%e7%bc%96%e7%a0%81/feed/" rel="self" type="application/rss+xml" />
	<link>http://dancewithnet.com</link>
	<description>WEB Design{HTML:CSS:Javascript:DOM:AJAX:PHP:Usability}/Viewpoint/Photo/Food/Mood</description>
	<lastBuildDate>Mon, 18 Jul 2011 02:45:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>从MySQL4.0向MySQL5迁移数据</title>
		<link>http://dancewithnet.com/2007/10/07/data-transfer-from-mysql40-to-mysql51/</link>
		<comments>http://dancewithnet.com/2007/10/07/data-transfer-from-mysql40-to-mysql51/#comments</comments>
		<pubDate>Sat, 06 Oct 2007 16:36:34 +0000</pubDate>
		<dc:creator>秦歌</dc:creator>
				<category><![CDATA[Apache &  MySQL &  PHP]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[phpMyAdmin]]></category>
		<category><![CDATA[utf-8]]></category>
		<category><![CDATA[乱码]]></category>
		<category><![CDATA[编码]]></category>

		<guid isPermaLink="false">http://dancewithnet.com/2007/10/07/data-transfer-from-mysql40-to-mysql51/</guid>
		<description><![CDATA[用phpMyAdmin时在导入和导出MySQL5数据时，有一个SQL compatibility mode选项，其可选值为NONE、ANSIDB2、MAXDB、MYSQL323、MYSQL40、MSSQL、ORACLE、TRADITIONAL。这是MySQL解决导入导出数据时不同数据库类型或者版... ]]></description>
			<content:encoded><![CDATA[<p>用phpMyAdmin时在导入和导出MySQL5数据时，有一个SQL compatibility mode选项，其可选值为NONE、ANSIDB2、MAXDB、MYSQL323、MYSQL40、MSSQL、ORACLE、TRADITIONAL。这是<a href="http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html">MySQL解决导入导出数据时不同数据库类型或者版本SQL语句不同的问题</a>。MYSQL40选项明显是为了解决和MYSQL4.0数据迁移问题，但是用phpMyAdmin管理MySQL4.0(版本是4.0.25)时，则没有SQL compatibility mode这个选项，应该是不支持吧。</p>
<p>MySQL的默认编码是latin1，而从MySQL4.0中导出数据的SQL语句并没有编码声明(<a href="/2007/01/25/wordpress-data-import-mysql5-from-mysql4-by-phpmyadmin/">《利用phpMyAdmin把wordpress数据从MySQL4迁移到MySQL5》)</a>，所以如果从MySQL4.0中导出数据的编码不是latin1，比如是utf8，那么直接导入到MySQL5中编码会是默认的latin1而出现中文乱码。所以操作步骤如下：<span id="more-1137"></span></p>
<ol>
<li>用phpMyAdmin从MySQL4.0中导出所需的数据表，并勾选上“zip压缩”或“gzip压缩”，这样导出的数据量小。<br /><img src='http://dancewithnet.com/wp-content/uploads/2007/10/data-transfer-from-mysql4-1.png' alt='用phpMyAdmin从MySQL4.0中导出所需的数据表' width="640" height="597"  /></li>
<li>用phpMyAdmin在MySQL5中创建一个新的数据库，注意需要声明编码为实际编码，比如utf8。如果不声明编码，那么导致导入的数据编码全部是latin1，而出现中文乱码，无法简单修正。<img src='http://dancewithnet.com/wp-content/uploads/2007/10/data-transfer-from-mysql4-2.png' alt='用phpMyAdmin在MySQL5中创建一个新的数据库'  width="399" height="299" /></li>
<li>在import页面把从MySQL4.0中导出的数据导入，注意选择字符集和SQL compatibility mode模式为MYSQL40，这样整个数据就导入成功了。<br /><img src='http://dancewithnet.com/wp-content/uploads/2007/10/data-transfer-from-mysql4-3.png' alt='在import页面把从MySQL4.0中导出的数据导入' width="608" height="476" /></li>
</ol>
<p>由于MySQL默认编码的原因，直接导入整个数据库则无法设置其编码，从而导致中文乱码，所以第1步要求导出的是数据库中的表而不是整个数据库，要想导入整个数据那么需要修改MySQL的默认编码，修改安装目录的下的my.ini文件(Unix下是my.cnf)中对Client和Server的编码声明，然后重启服务即可：<code>default-character-set=utf8</code></p>
]]></content:encoded>
			<wfw:commentRss>http://dancewithnet.com/2007/10/07/data-transfer-from-mysql40-to-mysql51/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>升级到Wordpress2.3小结</title>
		<link>http://dancewithnet.com/2007/10/04/upgraded-to-wordpress23/</link>
		<comments>http://dancewithnet.com/2007/10/04/upgraded-to-wordpress23/#comments</comments>
		<pubDate>Wed, 03 Oct 2007 22:46:59 +0000</pubDate>
		<dc:creator>秦歌</dc:creator>
				<category><![CDATA[Apache &  MySQL &  PHP]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[UTW]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[编码]]></category>

		<guid isPermaLink="false">http://dancewithnet.com/2007/10/04/upgraded-to-wordpress23/</guid>
		<description><![CDATA[前几天Wordpress2.3 Dexter发布了（简体中文版），2.3的版本除了增加内置tags标签、插件更新通知、url地址处理等等一系列新的特性，还做了大量的优化、提高效率。Wordpress的主程序升级向来比较容... ]]></description>
			<content:encoded><![CDATA[<p>前几天<a href="http://wordpress.org/development/2007/09/wordpress-23/">Wordpress2.3 Dexter发布了</a>（<a href="http://code.google.com/p/wpcn/downloads/list">简体中文版</a>），2.3的版本除了增加内置tags标签、插件更新通知、url地址处理等等一系列新的特性，还做了大量的优化、提高效率。Wordpress的主程序升级向来比较容易，其难点在于解决插件和自定义主题的不兼容问题，这次由于增加了内置tag功能，已明确不兼容目前广泛使用的<a href="http://www.neato.co.nz/ultimate-tag-warrior">Ultimate Tag Warrior</a>，另外就是放置网志的主机太慢了、环境（PHP4.4+MySQL4.0.25）太老了且偶尔不稳定，所以趁机转移到<a href="http://www.mybrand.com.cn">danbao的MyBrand</a>(PHP5.1.4+MySQL5.0.24)上来。<span id="more-1136"></span></p>
<h3>把数据从MySQL4.0.25转移到MySQL5.0.24</h3>
<ol>
<li>Wordpress自带的导出WXR本来是一个很好的选择，但是似乎对插件数据的导出和数据量大且网速很慢时导出总是有问题，所以只好用phpMyAdmin来导了。</li>
<li>phpMyAdmin在MySQL4和5中导出的格式不同（见《<a href="/2007/01/25/wordpress-data-import-mysql5-from-mysql4-by-phpmyadmin/">利用phpMyAdmin把wordpress数据从MySQL4迁移到MySQL5》</a>），所以需要修改后才能导入MySQL5中。数据量大时，为了能修改只能导出非压缩的.sql文件。</li>
<li>导出的.sql文件汉字可能存在乱码，可以用Editplus和UtralEdit等转化编码（见《<a href="/2006/11/10/gb2312-convert-utf-8-when-using-ssi/">使用SSI功能时，GB2312转换成UTF-8的注意事项》</a>）。</li>
</ol>
<h3>升级到Wordpress2.3</h3>
<ol>
<li>把转化好的数据导入MySQL5中。需要注意的是，很多时候垃圾评论spams是乱码的，如果我们平时处理这些评论是设置其状态为“垃圾评论”，那这些评论不会被删除而保存在评论的数据表中，乱码可能会导致数据导入的失败，需要删除这些乱码重新导入。建议针对垃圾评论可以把其IP和特征字符放入评论黑名单中，然后删除，这样既降低隐患又减少数据量。</li>
<li>Wordpress某些处理时把域名在服务器上的绝对路径写入数据库，所以在迁移过程中如果改变了文件在服务器上的绝对路径或者改变了域名需要修改数据中相应的路径（比如上传文件的路径）。可以直接写SQL语句来修改，也可以用编辑器来替换，比如UtralEdit或者VIM。</li>
<li>数据导入成功并设置好wp-config.php后，打开wp-admin/upgrade.php进行按照指示进行升级。建议<ins datatime="20071005T042000+08:00" title="有些插件会导致无法升级，比如UTW">升级开始前</ins>禁止所有的插件且采用默认主题，然后一个一个的开启检查兼容问题。</li>
</ol>
<h3>解决插件的兼容问题</h3>
<ol>
<li>Wordpress有一个<a href="http://codex.wordpress.org/Plugins">插件列表</a>，这里面的插件都没有问题，只需要对照升级即可。</li>
<li>对于Ultimate Tag Warrior(UTW)，Wordpress2.3在“管理”下的“导入”中提供了把UTW数据转化成内置tag的数据，然后利用<a href="http://codex.wordpress.org/Template_Tags/the_tags">the-tags</a>和<a href="http://codex.wordpress.org/Template_Tags/wp_tag_cloud">wp_tag_cloud</a>替换相应的UTW函数即可，比如：
<pre><code>//UTW_ShowTagsForCurrentPost("commalist");
the_tags("标签：");
//php UTW_ShowWeightedTagSetAlphabetical("coloredsizedtagcloud","",0);
wp_tag_cloud('smallest=1.2&amp;largest=3.6&amp;unit=em&amp;number=O'); </code></pre>
<p>相对于UTW而言，内置的tags功能简单但是稳定高效，同时UTW的作者又提供了Tags的<a href="http://www.neato.co.nz/wordpress-things/tag-managing-thing/">管理功能</a>、<a href="http://www.neato.co.nz/wordpress-things/tag-suggest-thing/">建议功能</a>和<a href="http://www.neato.co.nz/wordpress-things/embedded-tag-thing/">嵌入功能</a>来辅助管理。这样就可以对UTW说再见了。</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://dancewithnet.com/2007/10/04/upgraded-to-wordpress23/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Ajax的小贴士</title>
		<link>http://dancewithnet.com/2007/09/25/ajax-tips/</link>
		<comments>http://dancewithnet.com/2007/09/25/ajax-tips/#comments</comments>
		<pubDate>Tue, 25 Sep 2007 10:14:15 +0000</pubDate>
		<dc:creator>秦歌</dc:creator>
				<category><![CDATA[Javascript & DOM & AJAX]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[gb2312]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[responseXML]]></category>
		<category><![CDATA[utf-8]]></category>
		<category><![CDATA[XMLHttpRequest]]></category>
		<category><![CDATA[缓存]]></category>
		<category><![CDATA[编码]]></category>

		<guid isPermaLink="false">http://dancewithnet.com/2007/09/25/ajax-tips/</guid>
		<description><![CDATA[在使用Ajax过程中，有时候总会遇到一些难题，浏览器兼容、编码、IE下的特殊处理等等，偶尔会搞的人头昏脑胀哭笑不得，这里列一些小贴士，或许有些用。
使用Javascript库
Ajax的流行和巨大威... ]]></description>
			<content:encoded><![CDATA[<p>在使用Ajax过程中，有时候总会遇到一些难题，浏览器兼容、编码、IE下的特殊处理等等，偶尔会搞的人头昏脑胀哭笑不得，这里列一些小贴士，或许有些用。</p>
<h3>使用Javascript库</h3>
<p>Ajax的流行和巨大威力，让我们重新审视了Javascript的开发，也直接促使各种库的出现。对于普通的开发者，使用一些适合自己的Javascript库不仅可以避免Ajax应用上的浏览器兼容等问题，也使其开发更加的稳定和高效。这里列一些我知晓的轻量级的Javascript库：<span id="more-1135"></span></p>
<ol>
<li><strong><a href="http://developer.yahoo.com/yui/">YUI</a></strong>：YAHOO出品，组件丰富强大健壮稳定，是团队协作开发的首选。</li>
<li><strong><a href="http://jquery.com/">JQuery</a></strong>：灵活、高效，其基于CSS3 和XPath的选择器语法引擎非常的强大和完整。</li>
<li><strong><a href="http://www.prototypejs.org/">Prototype</a></strong>：是一个非常优雅的Javascript库，最经典的莫过于$符号了，DWR，JQuery都被它吸引了。在它基础上出现了<a href="http://script.aculo.us/">script.aculo.us</a>。</li>
<li><strong><a href="http://mootools.net/">Mootools</a></strong>：核心语法和Prototype比较类似，但是用过之后才知道什么叫简单轻巧和短小精悍。</li>
</ol>
<h3>编码问题</h3>
<p>通过XMLHttpRequest获取的数据，默认的字符编码是UTF-8，如果前端页面是GB2312或者其它编码，显示获取的数据就是乱码。通过XMLHTTPRequest，POST的数据也是UTF-8编码，如果后台是GB2312或者其他编码也会出现乱码。解决方法：</p>
<ol>
<li>统一到UTF-8。这也是国际化的必然趋势。</li>
<li>输出通过XMLHttpRequest获取的文本文本时，在headers中增加文本声明(直接HTML声明没有作用)。如：
<pre><code>PHP:header('Content-Type:text/html;charset=GB2312');
ASP:Response.Charset = "GB2312"
JSP:response.setHeader("Charset","GB2312");</code></pre>
</li>
<li>WWW服务器上强制声明。比如：apache下的配置：<code>AddDefaultCharset GB2312</code>这种情况主要是应对通过XMLHttpRequest访问的文件是静态文件，无法声明headers的情况下。<br />&nbsp;&nbsp;静态页面一般都会经过Apache的deflate或gzip压缩，此时在上面情况下IE中，首次通过XMLhttpRequest获得的数据可以正常显示，但再获取数据显示时出现乱码，这次因为再次获取的数据来自缓存，可能由于浏览器解压缩的问题导致Apache设置的默认编码声明丢失。由于这种情况下一般是纯文本，可能还无法禁止缓存，可以设置XMLhttpRequest访问的文本文件不压缩来解决这个问题。</p>
<li>非UTF-8页面通过XMLHttpRequest获取的文本文本输出前字符转码成unicode，或者编码直接是UTF-8，可以正常显示。<strong>如<a href="http://dancewithnet.com/lab/2007/09/ajax-tips/" class="link-btn">实例</a>所示。</strong></li>
</ol>
<h3>IE下的缓存问题</h3>
<p>由于IE的缓存处理机制问题，每次通过XMLHttpRequest访问动态页面返回的总是首次访问的内容，解决方法有：</p>
<ol>
<li>客户端通过添加随机字符串解决。如：
<pre><code>var url = 'http://dancewithnet.com/';
url +=  '?temp=' + new Date().getTime();
url +=  '?temp=' + Math.random();
</code></pre>
</li>
<li>在HTTP headers禁止缓存。如：
<pre><code>
HTTP:
&lt;meta http-equiv="pragma" content="no-cache" /&gt;
&lt;meta http-equiv="Cache-Control" content="no-cache, must-revalidate" /&gt;
&lt;meta http-equiv="expires" content="Thu, 01 Jan 1970 00:00:01 GMT" /&gt;
&lt;meta http-equiv="expires" content="0" /&gt;

PHP：
header("Expires: Thu, 01 Jan 1970 00:00:01 GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");

ASP：
Response.expires=0
Response.addHeader("pragma","no-cache")
Response.addHeader("Cache-Control","no-cache, must-revalidate")

JSP：
response.addHeader("Cache-Control", "no-cache");
response.addHeader("Expires", "Thu, 01 Jan 1970 00:00:01 GMT");
</code></pre>
</li>
<li>在XMLHttpRequest发送请求之前加上：
<pre><code>XMLHttpRequest.setRequestHeader("If-Modified-Since","0");
XMLHttpRequest.send(null);
</code></pre>
</li>
</ol>
<h3>IE下的reponseXML问题</h3>
<p>使用responseXML时，IE下只能接受.xml为后缀的XML文件，如果不能以.xml文件为结尾的，则需要如下处理：</p>
<ol>
<li>在服务器端声明是xml文件类型。如
<pre><code>
PHP:header("Content-Type:text/xml;charset=utf-8");
ASP:Response.ContentType = "text/xml";
JSP:response.setHeader("ContentType","text/xml");</code></pre>
<p></code></pre>
</li>
<li>利用responseText获取，然后封装成XML。</li>
<li>在AJAX应用上，<a href="http://json.org/">JSON</a>和<a href="http://jsonml.org/">JsonML</a>是XML非常好的替代品。</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://dancewithnet.com/2007/09/25/ajax-tips/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>使用SSI功能时，GB2312转换成UTF-8的注意事项</title>
		<link>http://dancewithnet.com/2006/11/10/gb2312-convert-utf-8-when-using-ssi/</link>
		<comments>http://dancewithnet.com/2006/11/10/gb2312-convert-utf-8-when-using-ssi/#comments</comments>
		<pubDate>Thu, 09 Nov 2006 21:28:04 +0000</pubDate>
		<dc:creator>秦歌</dc:creator>
				<category><![CDATA[Apache &  MySQL &  PHP]]></category>
		<category><![CDATA[ssi]]></category>
		<category><![CDATA[utf-8]]></category>
		<category><![CDATA[编码]]></category>

		<guid isPermaLink="false">http://dancewithnet.com/?p=914</guid>
		<description><![CDATA[最近进行一个项目，为了便于静态页面的维护，利用Apache的SSI功能把多个页面相同的内容提取到一个页面上，然后Include需要页面上。文件的开始采用的编码是GB2312，但是由于应用了AJAX而其默认... ]]></description>
			<content:encoded><![CDATA[<p>最近进行一个项目，为了便于静态页面的维护，利用Apache的SSI功能把多个页面相同的内容提取到一个页面上，然后Include需要页面上。文件的开始采用的编码是GB2312，但是由于应用了AJAX而其默认编码是UTF-8等原因，需要把页面编码GB2312转换成UTF-8。<span id="more-914"></span></p>
<p>GB2312字符集是在ASCII字符集上派生的，而此类字符集统称为ANSI字符集。所以GB2312编码文件在记事本中对应的编码是ANSI。由于Win中记事本中存在GB2312和UTF-8两种方式，所以我就直接用记事本直接打开需要的文件，另存为时编码修改为UTF-8。具体方式如下：</p>
<ol>
<li>用记事本打开要转换的网页文件。可以在网页文件中右键选择“打开方式”为记事本，也可以先打开记事本然后把文件拉入记事本。</li>
<li>选择“文件”-》“另存为”，在出现的窗口中设置编码为UTF-8：<br /><img src='http://dancewithnet.com/wp-content/uploads/2007/03/gb2312-utf-8-1.png' alt='用记事本把GB2312转成UTF-8' /></li>
</ol>
<p>利用上面的文件转换网页编码之后，我发现在IE下页面不同的地方都出现了空白字符，严重的影响了页面的布局，Firefox和Opera没有问题。但是在记事本和Dreamweaver中，发现不了空白字符的位置，即使把页面所有的空白字符都去掉也解决不了问题。后来发现Editplus也可以转化编码，具体方法是：</p>
<ol>
<li>打开Editplus，选择“文件”-》“打开”</li>
<li>在弹出的窗口中选择“转换”方式为“UTF-8”<br /><img src='http://dancewithnet.com/wp-content/uploads/2007/03/gb2312-utf-8-2.png' alt='用Editplus把GB2312转成UTF-8' /></li>
</ol>
<p>利用Editplus转换编码的时候有一个好处就是可以多个文件同时转换，就是在打开对话框中选择多个转换文件，同时每个转换的文件都保存了备份文件。不好的地方就是，转换过程中汉字都变成了乱码，这个可能是Editplus没有中文版，只有汉化版，没有考虑中文情况而导致的。</p>
<p>我再次利用Editplus转换一下已经用记事本转换过的页面，页面的空白符问题就得以解决。</p>
<p>后来测试：</p>
<ol>
<li>经过apache解析后的整个GB2312网页文件利用记事本转换成UTF-8就不会出现空白符问题。</li>
<li>把出现空白符的整个页面一起用Editplus转换时，出现空白符的地方出现？号，我发现出现空白符的地方就是Include文件的地方。</li>
</ol>
<p>查找资料如下：</p>
<blockquote><p>当一个软件打开一个文本时，它要做的第一件事是决定这个文本究竟是使用哪种字符集的哪种编码保存的。软件一般采用三种方式来决定文本的字符集和编码：</p>
<p>检测文件头标识，提示用户选择，根据一定的规则猜测</p>
<p>最标准的途径是检测文本最开头的几个字节，开头字节 Charset/encoding,如下表：</p>
<pre>    EF BB BF UTF-8
    FE FF UTF-16/UCS-2, little endian
    FF FE UTF-16/UCS-2, big endian
    FF FE 00 00 UTF-32/UCS-4, little endian.
    00 00 FE FF UTF-32/UCS-4, big-endian.</pre>
</blockquote>
<p>所以我猜想，应该是利用记事本转换编码的时候，记事本改变了每个文件的头部几个字节的声明，当用SSI包含这些文件的时候，位于文件中间的这些声明字节应该被忽略，但是IE浏览器无法忽略，而当作空白符，所以出现了问题。而当用Editplus来转换的时候，可能声明的字节写法更加规范或者紧凑，IE可以辨认忽略了。</p>
<p>所以编码转换建议如下：</p>
<ol>
<li>英文的直接用Editplus批量转换。</li>
<li>中文的，先用记事本转换一下，然后再用Editplus批量转换一下。</li>
</ol>
<ul class="refer">
<li>[1]<a href="http://www.zeali.net/entry/152">http://www.zeali.net/entry/152</a></li>
<li>[2]<a href="http://ellisonzeng.spaces.live.com/blog/cns!1198A97487162C2A!161.entry">http://ellisonzeng.spaces.live.com/blog/cns!1198A97487162C2A!161.entry</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://dancewithnet.com/2006/11/10/gb2312-convert-utf-8-when-using-ssi/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>解决了公告在其他机子上不能显示的问题</title>
		<link>http://dancewithnet.com/2004/12/27/figure-out-affiche-display-problem/</link>
		<comments>http://dancewithnet.com/2004/12/27/figure-out-affiche-display-problem/#comments</comments>
		<pubDate>Mon, 27 Dec 2004 15:50:48 +0000</pubDate>
		<dc:creator>秦歌</dc:creator>
				<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[meta]]></category>
		<category><![CDATA[utf-8]]></category>
		<category><![CDATA[编码]]></category>

		<guid isPermaLink="false">http://dancewithnet.com/?p=31</guid>
		<description><![CDATA[昨天，一不小心在别人的机子上看到首页的公告下面是空白，感觉很奇怪，看了一下源代码没有问题，但是就是无法显示，看了一下编码是简体中文，而我编码采用的是utf-8，并且asp的pagecode＝6... ]]></description>
			<content:encoded><![CDATA[<p>昨天，一不小心在别人的机子上看到首页的公告下面是空白，感觉很奇怪，看了一下源代码没有问题，但是就是无法显示，看了一下编码是简体中文，而我编码采用的是utf-8，并且asp的pagecode＝65001，meta里面的设置也charset也是utf-8，<span id="more-31"></span>我就有些纳闷了，因为首页是用iframe把公告的页面嵌入其中的，并且采用javascript，实现了页面的上下滚动，为此注释掉了公告页面的dtd声明，开始以为是因为声明的问题，但是我把声明放上，公告页面还是看不倒，所以就考虑是否是其他影响。当时菜单上下的音乐页面也是采用iframe调入的，并且编码采用的是gb2312，当时猜测是否是它影响，修改成为utf-8编码，发现新闻还是不能显示，并且我发现只需要在公告页面编码才成utf-8或者是自动选择，公告都能正常显示，但是首页为什么能正常显示呢，我把首页的代码和公告页面的代码对比，发现了一个问题。公告的显示的代码是：<code>&lt;title&gt;『随网之舞……Dance with Net』&lt;/title&gt;<br />&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;</code>
</p>
<p>而其他正常显示页面恰好相反，我突然明白了原因了。网页在客户端显示所有的编码是用第二句代码实现的，但是由于第一句代码导致浏览器在读meta之前，就默认为浏览器的默认编码为网页显示编码，而一般的浏览器默认的编码不可以自动选择，这样就导致了浏览器只能显示在默认编码gb2312，而网页只能用utf-8才能显示，所以公告就不能显示了，所以在网页编码中一定要注意，网页显示编码写在head的第一位。</p>
<p>现在才发现，在修改网站的bug中，往往能对很多内容搞的更明白，当然也把人搞的更憔悴。</p>
]]></content:encoded>
			<wfw:commentRss>http://dancewithnet.com/2004/12/27/figure-out-affiche-display-problem/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>范老师的婚纱照好漂亮</title>
		<link>http://dancewithnet.com/2004/12/19/bridal-veil-photos-of-miss-fan-are-beautiful/</link>
		<comments>http://dancewithnet.com/2004/12/19/bridal-veil-photos-of-miss-fan-are-beautiful/#comments</comments>
		<pubDate>Sun, 19 Dec 2004 15:58:22 +0000</pubDate>
		<dc:creator>秦歌</dc:creator>
				<category><![CDATA[爱想想爱写写]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[结婚照]]></category>
		<category><![CDATA[编码]]></category>

		<guid isPermaLink="false">http://dancewithnet.com/?p=22</guid>
		<description><![CDATA[昨天在蓝色理想看到关于utf-8的讨论，认真的研究了一下，发现对网页的编码和显示问题突然清晰起来，以前一直以为把gb2312改成utf-8是一个很复杂的问题，昨天认真的研究一下相关的原理，还... ]]></description>
			<content:encoded><![CDATA[<p>昨天在蓝色理想看到关于utf-8的讨论，认真的研究了一下，发现对网页的编码和显示问题突然清晰起来，以前一直以为把gb2312改成utf-8是一个很复杂的问题，昨天认真的研究一下相关的原理，还颇有心得，而且整个转换过程也比较清晰就动手把我的个人网站转换成UTF-8的编码，并且写了一篇文章《ASP中从ANSI到UTF－8》。<span id="more-22"></span>搞到今天6点才睡，8点多就被叫起来帮朋友去配置机子，基本上结合实际情况按照昨天的配置如下：</p>
<table>
<tr>
<th>CPU</th>
<td>ATHLON XP 2400+  盒装</td>
</tr>
<tr>
<th>主版</th>
<td>硕泰克nv nforce2芯片的</td>
</tr>
<tr>
<th>内存</th>
<td>DDR400  256</td>
</tr>
<tr>
<th>硬盘</th>
<td>DW7200 盒装 80g</td>
</tr>
<tr>
<th>光驱</th>
<td>三星 SM-352B/2MB</td>
</tr>
<tr>
<th>显卡</th>
<td>UNIKA双敏 速配</td>
</tr>
<tr>
<th>机箱</th>
<td>爱国者</td>
</tr>
<tr>
<th>显示器</th>
<td>菲利普107s6</td>
</tr>
<tr>
<th>键盘鼠标</th>
<td>罗技普通光电套件</td>
</tr>
<tr>
<th>共计</th>
<td>3920</td>
</tr>
</table>
<p>配置完毕之后，恰好范老师想买摄像头，于是又和鱼儿一起返回海云，用95买了一个源兴的38万有效象素，并且具有焦距调节功能，带有立定支架，延迟还可以的摄像头。完了之后，顺便帮她去大地拿她和吴老师拍的结婚照，嘿嘿，太漂亮了，上面吴老师帅呆了，一副商业成功人士的派头，范老师那亲切的笑容拍在上面非常有杀伤力，特别是有一副穿那种江南水乡的丝织民族服装的那个，漂亮级了，,还有那种做在水晶玻璃里面的照片，显得特别精致，太想要一个了，嘿嘿。</p>
]]></content:encoded>
			<wfw:commentRss>http://dancewithnet.com/2004/12/19/bridal-veil-photos-of-miss-fan-are-beautiful/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

