<?xml version="1.0" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="css/rss.xslt"?>
<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>看不见我 - Note</title><link>http://www.flyz.com.cn/</link><description>A TALE OF TWO CITIES - </description><generator>RainbowSoft Studio Z-Blog 1.8 Arwen Build 81206</generator><language>zh-CN</language><copyright>Copyright 2005-2009 9box.net. all Rights Reserved.Designed by Lucien Won. Style Deep Black.</copyright><pubDate>Mon, 06 Sep 2010 01:06:54 +0800</pubDate><item><title>CSS Hack List</title><author>lucienx@gmail.com (lucien)</author><link>http://www.flyz.com.cn/Note/54/</link><pubDate>Wed, 18 Mar 2009 21:55:29 +0800</pubDate><guid>http://www.flyz.com.cn/Note/54/</guid><description><![CDATA[<p style="text-align: center"><a href="/upload/2009/3/css_buglist.gif" title="CSS Hack list"><img src="/upload/2009/3/css_buglist.gif" /></a></p>]]></description><category>Note</category><comments>http://www.flyz.com.cn/Note/54/#comment</comments><wfw:comment>http://www.flyz.com.cn/</wfw:comment><wfw:commentRss>http://www.flyz.com.cn/feed.asp?cmt=54</wfw:commentRss><trackback:ping>http://www.flyz.com.cn/cmd.asp?act=tb&amp;id=54&amp;key=f03195fb</trackback:ping></item><item><title>自动执行批处理监视服务器端口</title><author>lucienx@gmail.com (lucien)</author><link>http://www.flyz.com.cn/Note/49/</link><pubDate>Sun, 08 Mar 2009 15:03:38 +0800</pubDate><guid>http://www.flyz.com.cn/Note/49/</guid><description><![CDATA[<p>虽然现在有很多工具可以实现这些功能，但是实在是不想装太多东西在服务器上。<br />批处理真是个好东西。嘿嘿，利用批处理，再配合windows自带的计划任务。轻松实现监视服务器端口连接状态。</p><p><code>time /t&gt;&gt;scanlog.log <br />netstat -n &ndash;p tcp 10|find &quot;:3389&quot;&gt;&gt;scanlog.log</code></p><p>注：find &quot;:3389&quot;是制定寻找带有:3389这个字符串的行作为所需字符串行。<br />仅是举例说明我想监视3389这个端口而已。</p>]]></description><category>Note</category><comments>http://www.flyz.com.cn/Note/49/#comment</comments><wfw:comment>http://www.flyz.com.cn/</wfw:comment><wfw:commentRss>http://www.flyz.com.cn/feed.asp?cmt=49</wfw:commentRss><trackback:ping>http://www.flyz.com.cn/cmd.asp?act=tb&amp;id=49&amp;key=36757af8</trackback:ping></item><item><title>转换MYSQL数据库的存储字符集的终极解决办法</title><author>lucienx@gmail.com (lucien)</author><link>http://www.flyz.com.cn/Note/48/</link><pubDate>Thu, 12 Feb 2009 16:05:46 +0800</pubDate><guid>http://www.flyz.com.cn/Note/48/</guid><description><![CDATA[<p>概述：字符集的概念，在MYSQL 4.1版本以后才开始提出，对于MYSQL 4.0及其以下的版本，所有的数据库的字符集都是Latin1的。</p><p>在今天很多程序广泛的使用UTF-8的字符集，另外很多中文程序使用GBK字符集存储数据。Mysql版本升级、降级，网站程序的升级管理，字符集的转换工作是必然的，如果不转换程序就无法正常使用。</p><p>根据我的总结现在转换的方法一共以下几种。</p><p>第一种：</p><p>把数据库备份为sql文件，然后打开sql文件，将里面的原字符集代码改为所想改为的字符集编码。例如需要从Latin1转换为GBK。则将Latin1全部替换为GBK。不过这是最简单的一种转换方法，适用与数据较少，数据结构比较单一的数据库。</p><p>第二种：</p><p>利用程序自带的备份程序备份。其原理是在备份为SQL文件的时候将数据强制输出为所欲转换的字符集。然后再还原。</p><p>第三种：</p><p>利用PHPMYADMIN转换，其原理跟第二种差不多。不过我没有试过。</p><p>第四种：</p><p>利用MYSQL命令转换，网上可以找到这篇文章。点击下面这个链接查看</p><p><a href="http://www.baidu.com.cn/s?wd=mysql+%D7%AA%BB%BB%D7%D6%B7%FB%BC%AF" target="_blank">http://www.baidu.com.cn/s?wd=mysql+%D7%AA%BB%BB%D7%D6%B7%FB%BC%AF</a></p><p>但是根据我个人的实验，这种方法成功率很低。而且操作比较复杂。</p><p>第五种：</p><p>实际上应该算是第二种和第三种方法的一个精简版本，是我无意中在网上下载到的一个文件。作者不详，但是确实很好用。</p><p><code><font face="Arial">/*$mysql_host&nbsp;&nbsp;= 'localhost';&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //MySQL主机<br />$mysql_user&nbsp;&nbsp;= 'root';&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //MySQL用户名<br />$mysql_psword&nbsp;= '';&nbsp;&nbsp;//MySQL密码<br />$fromdb&nbsp;&nbsp;&nbsp;= '';&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //原本数据库<br />$intodb&nbsp;&nbsp;&nbsp;= '';&nbsp;&nbsp;&nbsp;//新的空数据库<br />$per&nbsp;&nbsp;&nbsp;= 20;&nbsp;&nbsp;&nbsp;&nbsp;//每次跳转处理的数据库条数<br />$intodbcharset&nbsp;= 'gbk';&nbsp;&nbsp;&nbsp;//设置的编码<br />*/<br />/*<br />本程序可以实现latin1&lt;-&gt;gbk,gbk&lt;-&gt;utf8,gbk&lt;-&gt;big5,的编码的相互转换，程序可以进行多次转换即可以实现latin-&gt;gbk-&gt;utf8等的转换<br />*/<br />$phpselfname=$_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];<br />@set_time_limit(0);<br />error_reporting(7);<br />define('D_P',__FILE__ ? dirname(__FILE__).'/' : './');<br />foreach($_POST as $_key=&gt;$_value){<br />&nbsp;!ereg(&quot;^\_&quot;,$_key) &amp;&amp; $$_key=$_POST[$_key];<br />}<br />foreach($_GET as $_key=&gt;$_value){<br />&nbsp;!ereg(&quot;^\_&quot;,$_key) &amp;&amp; $$_key=$_GET[$_key];<br />}<br />$charsetdb=array('latin1'=&gt;'gbk','gbk'=&gt;'utf8','gbk'=&gt;'big5');<br />if(!$action){<br />&nbsp;echo &quot;&lt;table align=center&gt;&lt;tr&gt;&lt;td&gt;本程序的作用：转换数据库编码。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;font color=\&quot;#FF0000\&quot;&gt;警告：如果您填写的目的数据库已经存在，&lt;br&gt;原来的数据将被删除并重建空的新数据库&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&quot;;<br />&nbsp;$charsets=array('big5','gbk','latin1','utf8');<br />&nbsp;$options=&quot;&lt;option value=\&quot;\&quot;&gt;&quot;;<br />&nbsp;foreach($charsets as $value){<br />&nbsp;&nbsp;$options.=&quot;&lt;option value=\&quot;$value\&quot;&gt;$value&quot;;<br />&nbsp;}<br />&nbsp;echo &quot;&lt;form method=post action=\&quot;$phpselfname\&quot;&gt;<br />&nbsp;&lt;input type=\&quot;hidden\&quot; name=\&quot;action\&quot; value=\&quot;creattable\&quot;&gt;<br />&nbsp;&lt;table align=center&gt;<br />&nbsp;&lt;tr&gt;<br />&nbsp;&nbsp;&lt;td colspan=2&gt;请先设置以下参数：&lt;/td&gt;<br />&nbsp;&lt;/tr&gt;<br />&nbsp;&lt;tr&gt;<br />&nbsp;&nbsp;&lt;td&gt;数据库主机:&lt;/td&gt;<br />&nbsp;&nbsp;&lt;td&gt;&lt;input type=\&quot;text\&quot; name=\&quot;mysql_host\&quot; value=\&quot;localhost\&quot;&gt;&lt;/td&gt;<br />&nbsp;&lt;/tr&gt;<br />&nbsp;&lt;tr&gt;<br />&nbsp;&nbsp;&lt;td&gt;数据库用户名:&lt;/td&gt;<br />&nbsp;&nbsp;&lt;td&gt;&lt;input type=\&quot;text\&quot; name=\&quot;mysql_user\&quot;&gt;&lt;/td&gt;<br />&nbsp;&lt;/tr&gt;<br />&nbsp;&lt;tr&gt;<br />&nbsp;&nbsp;&lt;td&gt;数据库密码:&lt;/td&gt;<br />&nbsp;&nbsp;&lt;td&gt;&lt;input type=\&quot;text\&quot; name=\&quot;mysql_psword\&quot;&gt;&lt;/td&gt;<br />&nbsp;&lt;/tr&gt;<br />&nbsp;&lt;tr&gt;<br />&nbsp;&nbsp;&lt;td&gt;源数据库名:&lt;/td&gt;<br />&nbsp;&nbsp;&lt;td&gt;&lt;input type=\&quot;text\&quot; name=\&quot;fromdb\&quot;&gt;&lt;/td&gt;<br />&nbsp;&lt;/tr&gt;<br />&nbsp;&lt;tr&gt;<br />&nbsp;&nbsp;&lt;td&gt;目的数据库名:&lt;/td&gt;<br />&nbsp;&nbsp;&lt;td&gt;&lt;input type=\&quot;text\&quot; name=\&quot;intodb\&quot;&gt;&lt;/td&gt;<br />&nbsp;&lt;/tr&gt;<br />&nbsp;&lt;tr&gt;<br />&nbsp;&nbsp;&lt;td colspan=2&gt;&lt;font size=\&quot;1\&quot; color=\&quot;#3300FF\&quot;&gt;创建一个新的空数据库，建议不要填写以有的数据库名&lt;/font&gt;&lt;/td&gt;<br />&nbsp;&lt;/tr&gt;<br />&nbsp;&lt;tr&gt;<br />&nbsp;&nbsp;&lt;td&gt;目的数据库编码设置:&lt;/td&gt;<br />&nbsp;&nbsp;&lt;td&gt;&lt;select name=\&quot;intodbcharset\&quot;&gt;$options&lt;/select&gt;&lt;/td&gt;<br />&nbsp;&lt;/tr&gt;<br />&nbsp;&lt;tr&gt;<br />&nbsp;&nbsp;&lt;td colspan=2&gt;&lt;font size=\&quot;1\&quot; color=\&quot;#3300FF\&quot;&gt;编码转换限制说明：latin1&lt;-&gt;gbk,gbk&lt;-&gt;utf8,gbk&lt;-&gt;big5&lt;/font&gt;&lt;/td&gt;<br />&nbsp;&lt;/tr&gt;<br />&nbsp;&lt;tr&gt;<br />&nbsp;&nbsp;&lt;td&gt;每次跳转处理数据条数:&lt;/td&gt;<br />&nbsp;&nbsp;&lt;td&gt;&lt;input type=\&quot;text\&quot; name=\&quot;per\&quot; value=2000&gt;&lt;/td&gt;<br />&nbsp;&lt;/tr&gt;<br />&nbsp;&lt;tr&gt;<br />&nbsp;&nbsp;&lt;td colspan=2&gt;&lt;font size=\&quot;1\&quot; color=\&quot;#3300FF\&quot;&gt;如果涉及big5的转换，请设置的尽量小点本人在本地机&lt;br&gt;子上测试只能一次转换五六十个&lt;/font&gt;&lt;/td&gt;<br />&nbsp;&lt;/tr&gt;<br />&nbsp;&lt;tr&gt;<br />&nbsp;&nbsp;&lt;td colspan=2 align=center&gt;&lt;input type=\&quot;submit\&quot; value=\&quot;开始运行\&quot;&gt;&lt;/td&gt;<br />&nbsp;&lt;/tr&gt;<br />&nbsp;&lt;/table&gt;&lt;/form&gt;&quot;;<br />&nbsp;exit;<br />}<br />!$mysql_host &amp;&amp; Showmsg(&quot;请填写数据库主机！&quot;,$phpselfname);<br />!$mysql_user &amp;&amp; Showmsg(&quot;请填写数据库用户名！&quot;,$phpselfname);<br />!$fromdb &amp;&amp; Showmsg(&quot;请填写要处理的源数据库&quot;,$phpselfname);<br />!$intodb &amp;&amp; Showmsg(&quot;请填写要保存的新的数据库名（将被创建，如果已经存在将被删除重新创建）&quot;,$phpselfname);<br />!$per &amp;&amp; Showmsg(&quot;请填写每次跳转处理的数据库条数，必须为整数！&quot;,$phpselfname);<br />!$intodbcharset &amp;&amp; Showmsg(&quot;请选择新数据的编码！&quot;,$phpselfname);<br />$andurl=&quot;mysql_host=$mysql_host&amp;mysql_user=$mysql_user&amp;mysql_psword=$mysql_psword&amp;fromdb=$fromdb&amp;intodb=$intodb&amp;per=$per&amp;intodbcharset=$intodbcharset&quot;;<br />!$start &amp;&amp; $start=0;<br />!$part &amp;&amp; $part=0;<br />$mysql = mysql_connect($mysql_host,$mysql_user,$mysql_psword) or die(&quot;Could not connect : &quot; . mysql_error()); <br />//mysql_query(&quot;SET NAMES '$fromdbcharset'&quot;);<br />mysql_query(&quot;SET sql_mode=''&quot;);<br />@mysql_select_db($fromdb) or die(&quot;源数据库 $fromdb 不存在!&quot;);<br />$tablesdb=array();<br />$Tables_in='Tables_in_'.$fromdb;<br />$query=mysql_query(&quot;SHOW TABLES&quot;);<br />while($rt=mysql_fetch_array($query,MYSQL_ASSOC)){<br />&nbsp;$tablesdb[]=$rt;<br />}<br />$table=$tablesdb[$part][$Tables_in];<br />$tableinfo=array();<br />$query=mysql_query(&quot;SHOW TABLE STATUS LIKE '$table'&quot;);<br />while($rt=mysql_fetch_array($query,MYSQL_ASSOC)){<br />&nbsp;$charsetpos=strpos($rt['Collation'],'_')===false ? -1 : strpos($rt['Collation'],'_');<br />&nbsp;$rt['Collation']=substr($rt['Collation'],0,$charsetpos);<br />&nbsp;$tableinfo=$rt;<br />}<br />if($charsetdb[$tableinfo['Collation']]!=$intodbcharset &amp;&amp; $charsetdb[$intodbcharset]!=$tableinfo['Collation'] ){<br />&nbsp;Showmsg(&quot;编码设置错误！&quot;.$tableinfo['Collation'].&quot; 编码不能转换为 $intodbcharset 编码&quot;,$phpselfname);<br />}<br />unset($charsetdb);<br />mysql_query(&quot;SET NAMES '$tableinfo[Collation]'&quot;);<br />if($action=='creattable'){<br />&nbsp;$tablecreat=array();<br />&nbsp;foreach ($tablesdb as $key =&gt; $value){<br />&nbsp;&nbsp;$query=mysql_query(&quot;SHOW CREATE TABLE $value[$Tables_in]&quot;);<br />&nbsp;&nbsp;while($rt=mysql_fetch_array($query,MYSQL_ASSOC)){<br />&nbsp;&nbsp;&nbsp;echo $rt['Create Table'];<br />&nbsp;&nbsp;&nbsp;$rt['Create Table']=str_replace(&quot;$tableinfo[Collation]&quot;,&quot;$intodbcharset&quot;,$rt['Create Table']);<br />&nbsp;&nbsp;&nbsp;$tablecreat[]=$rt;<br />&nbsp;&nbsp;}<br />&nbsp;}<br />&nbsp;mysql_close($mysql);<br />&nbsp;$mysql = mysql_connect($mysql_host,$mysql_user,$mysql_psword) or die(&quot;Could not connect : &quot; . mysql_error());<br />&nbsp;mysql_query(&quot;DROP DATABASE IF EXISTS `$intodb`&quot;) or die(&quot;DROP DATABASE failed : &quot; . mysql_error());<br />&nbsp;if(mysql_get_server_info() &gt; '4.1'){<br />&nbsp;&nbsp;mysql_query(&quot;CREATE DATABASE `$intodb` DEFAULT CHARACTER SET $intodbcharset&quot;) or die(&quot;Query failed : &quot; . mysql_error()); <br />&nbsp;}else{<br />&nbsp;&nbsp;mysql_query(&quot;CREATE DATABASE `$intodb`&quot;) or die(&quot;Query failed : &quot; . mysql_error()); <br />&nbsp;}<br />&nbsp;echo &quot;$intodb 数据库创建成功！&quot;;<br />&nbsp;mysql_query(&quot;SET NAMES '$intodbcharset'&quot;);<br />&nbsp;if(mysql_get_server_info() &gt; '5.0'){<br />&nbsp;&nbsp;mysql_query(&quot;SET sql_mode=''&quot;);<br />&nbsp;}<br />&nbsp;@mysql_select_db($intodb) or die(&quot;目的数据库 $intodb 不存在!&quot;);<br />&nbsp;foreach ($tablecreat as $key =&gt; $value){<br />&nbsp;&nbsp;mysql_query(&quot;DROP TABLE IF EXISTS `$value[Table]`&quot;);<br />&nbsp;&nbsp;mysql_query($value['Create Table']);<br />&nbsp;&nbsp;echo &quot;$value[Table] 表创建完成&lt;br&gt;&quot;;<br />&nbsp;&nbsp;$conut++;<br />&nbsp;}<br />&nbsp;mysql_close($mysql);<br />&nbsp;echo &quot;所有的表创建完成，数据库共有 $conut 个表！&lt;br&gt;&quot;;<br />&nbsp;redirect(&quot;$phpselfname?action=data&amp;$andurl&quot;);<br />}elseif($action=='data'){<br />&nbsp;$conut=0;<br />&nbsp;$data=array();<br />&nbsp;if($table){<br />&nbsp;&nbsp;echo &quot;正在转移 $table 表的从 $start 条记录开始的后 $per 条记录&quot;;<br />&nbsp;&nbsp;$query=mysql_query(&quot;SELECT * FROM $table LIMIT $start,$per&quot;);<br />&nbsp;&nbsp;while($rt=mysql_fetch_array($query,MYSQL_ASSOC)){<br />&nbsp;&nbsp;&nbsp;$data[]=$rt;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;mysql_close($mysql);<br />&nbsp;&nbsp;unset($rt);<br />&nbsp;&nbsp;$mysql = mysql_connect($mysql_host,$mysql_user,$mysql_psword) or die(&quot;MySQL链接错误!&quot;);<br />&nbsp;&nbsp;if($tableinfo['Collation']=='utf8' || $intodbcharset=='utf8'){<br />&nbsp;&nbsp;&nbsp;$intodbcharset=$tableinfo['Collation'];<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;mysql_query(&quot;SET NAMES '$intodbcharset'&quot;);<br />&nbsp;&nbsp;if(mysql_get_server_info() &gt; '5.0'){<br />&nbsp;&nbsp;&nbsp;mysql_query(&quot;SET sql_mode=''&quot;);<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;@mysql_select_db($intodb) or die(&quot;phpwind数据库不存在!&quot;);<br />&nbsp;&nbsp;if($start==0){<br />&nbsp;&nbsp;&nbsp;mysql_query(&quot;DELETE FROM $table&quot;);<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;if($tableinfo['Collation']=='big5' || $intodbcharset=='big5'){<br />&nbsp;&nbsp;&nbsp;require_once('chinese/chinese.php');<br />&nbsp;&nbsp;&nbsp;$chs = new Chinese($tableinfo['Collation'],$intodbcharset);<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;foreach($data as $key =&gt;$value){<br />&nbsp;&nbsp;&nbsp;$sql='';<br />&nbsp;&nbsp;&nbsp;foreach($value as $key1 =&gt; $value1){<br />&nbsp;&nbsp;&nbsp;&nbsp;if($tableinfo['Collation']=='big5' || $intodbcharset=='big5'){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$value1=$chs-&gt;Convert($value1);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;$value1=addslashes($value1);<br />&nbsp;&nbsp;&nbsp;&nbsp;$sql=$sql ? $sql.&quot;,'&quot;.$value1.&quot;'&quot; : &quot;'&quot;.$value1.&quot;'&quot;;<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;mysql_query(&quot;INSERT INTO $table VALUES($sql)&quot;) or mysql_errno();<br />&nbsp;&nbsp;&nbsp;$conut++;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;mysql_close($mysql);<br />&nbsp;&nbsp;if($conut==$per){<br />&nbsp;&nbsp;&nbsp;$start+=$per;<br />&nbsp;&nbsp;&nbsp;redirect(&quot;$phpselfname?action=data&amp;part=$part&amp;start=$start&amp;$andurl&quot;);<br />&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;$part++;<br />&nbsp;&nbsp;&nbsp;redirect(&quot;$phpselfname?action=data&amp;part=$part&amp;$andurl&quot;);<br />&nbsp;&nbsp;}<br />&nbsp;}else{<br />&nbsp;&nbsp;echo &quot;数据库$fromdb 编码 $tableinfo[Collation] 转移到数据库 $intodb 编码 $intodbcharset 完成！&quot;;exit;<br />&nbsp;}<br />}</font><font face="Arial">function redirect($url) {<br />&nbsp;echo&quot;&lt;script&gt;&quot;;<br />&nbsp;echo&quot;function redirect() {window.location.replace('$url');}\n&quot;;<br />&nbsp;echo&quot;setTimeout('redirect();', 2000);\n&quot;;<br />&nbsp;echo&quot;&lt;/script&gt;&quot;;<br />&nbsp;echo&quot;&lt;br&gt;&lt;br&gt;&lt;a href=\&quot;$url\&quot;&gt;如果您的浏览器没有自动跳转，请点击这里&lt;/a&gt;&quot;;<br />&nbsp;exit;<br />}<br />function Showmsg($message,$url) {<br />&nbsp;echo $message,&quot;&lt;br&gt;&lt;a href=\&quot;$url\&quot;&gt;点这里返回&lt;/a&gt;&quot;;exit;<br />}<br />?&gt;</font></code></p><p>以上是此文件的源代码。</p><p>点击此处下载此转换程序：<a target="_blank" href="/upload/2009/2/mySQL数据库latin1-gbk,gbk-utf8,gbk-big5.rar">mySQL数据库latin1-gbk,gbk-utf8,gbk-big5.rar</a></p>]]></description><category>Note</category><comments>http://www.flyz.com.cn/Note/48/#comment</comments><wfw:comment>http://www.flyz.com.cn/</wfw:comment><wfw:commentRss>http://www.flyz.com.cn/feed.asp?cmt=48</wfw:commentRss><trackback:ping>http://www.flyz.com.cn/cmd.asp?act=tb&amp;id=48&amp;key=eea33b39</trackback:ping></item><item><title>width和w\idth,height和he\ight的区别</title><author>lucienx@gmail.com (lucien)</author><link>http://www.flyz.com.cn/Note/47/</link><pubDate>Sat, 31 Jan 2009 15:34:36 +0800</pubDate><guid>http://www.flyz.com.cn/Note/47/</guid><description><![CDATA[<p>width: 258px;&nbsp;&nbsp;所有浏览器识别这个宽度，包括WIN IE5.5 IE5 IE4 NS4 Opera 5<br />w\idth: 256px; WIN IE5.5 IE5 IE4 NS4 Opera 5不识别，其他的认为这是个正确的值<br />w\idth: 256px; 用在 ie6.0上</p>]]></description><category>Note</category><comments>http://www.flyz.com.cn/Note/47/#comment</comments><wfw:comment>http://www.flyz.com.cn/</wfw:comment><wfw:commentRss>http://www.flyz.com.cn/feed.asp?cmt=47</wfw:commentRss><trackback:ping>http://www.flyz.com.cn/cmd.asp?act=tb&amp;id=47&amp;key=4f10fd54</trackback:ping></item><item><title>在IE6下用min-width的方法</title><author>lucienx@gmail.com (lucien)</author><link>http://www.flyz.com.cn/Note/46/</link><pubDate>Sat, 31 Jan 2009 15:26:12 +0800</pubDate><guid>http://www.flyz.com.cn/Note/46/</guid><description><![CDATA[<p>max-width、max-height、min-width和min-height这四个性质分别表示最大宽度、最大高度、最小宽度和最小高度。它们在CSS中有着很重要的作用。<br />然而，十分不幸的是，就是IE，这个世界上使用者最多的浏览器，到目前的版本为止，对这四个性质没有一个能够，哪怕一点点的支持。这可让设计者吃尽了苦头，最明显的就是，当你使用 float布局时，在IE中的一个臭毛病是，顶层div的宽度变小的时候（缩小窗口，分辨率低等），浮动的布局（一般是右边那一块跑到了下方）就会被破坏，变得一塌糊涂&hellip;&hellip;<br />最后通过我们亲爱的google终于找到几个解决办法，感谢众多的web设计天才。</p><p>办法一、</p><p><code>#content { <br />width:100%; <br />min-width: 760px; <br />width: expression(document.body.clientWidth &lt; 760? &quot;760px&quot;: &quot;100%&quot; ); <br />}</code></p><p>虽然该办法会让CSS通不过校验，但是有胜于无，开心地测试页面，然后我的IE就崩了，连续几次都如此，最后发现原来是这种方法适用的页面是没有声明的，而我的页面去掉声明就乱了，只好放弃再觅他法。<br />&nbsp;</p><p>办法二、</p><p><code>&nbsp;&lt;div style=&quot;border: 1px solid red; width: 90%&quot;&gt;<br />&lt;div style=&quot;border-left: 300px solid #ffffff; height: 1px&quot;&gt;<br />&lt;div style=&quot;margin-left: -300px; position: relative; height: 1px&quot;&gt;<br />&nbsp; 宽度 90%, 最小宽度 300px;<br />&nbsp; 最小高度 300%<br />&lt;/div&gt;<br />&lt;/div&gt;<br />&lt;/div&gt;</code></p><p>因为border-left为300px,所以div最小也得有300px，间接实现了min-width的功能。而由于margin-left为-300px且position:为relative，所以里面的文字不受border-left的影响。<br />&nbsp;</p><p>办法三、<br />请访问<a href="http://www.doxdesk.com/software/js/minmax.html">http://www.doxdesk.com/software/js/minmax.html</a>，作者给出了一个通过JS解决办法，只对IE6起作用，已经很完美了。下载<a href="http://www.doxdesk.com/file/software/js/minmax.js">http://www.doxdesk.com/file/software/js/minmax.js</a> 并在页面head区域添加</p><p>就可以了。<br />&nbsp;</p><p>办法四、<br />请访问<a href="http://www.rexsong.com/blog/article.asp?id=141">http://www.rexsong.com/blog/article.asp?id=141</a>，恕我无知，看得不是太明白。<br />&nbsp;</p>]]></description><category>Note</category><comments>http://www.flyz.com.cn/Note/46/#comment</comments><wfw:comment>http://www.flyz.com.cn/</wfw:comment><wfw:commentRss>http://www.flyz.com.cn/feed.asp?cmt=46</wfw:commentRss><trackback:ping>http://www.flyz.com.cn/cmd.asp?act=tb&amp;id=46&amp;key=177c2ab4</trackback:ping></item><item><title>ie6下使用min-width,max-width</title><author>lucienx@gmail.com (lucien)</author><link>http://www.flyz.com.cn/Note/min-with-for-ie6/</link><pubDate>Sat, 31 Jan 2009 15:19:53 +0800</pubDate><guid>http://www.flyz.com.cn/Note/min-with-for-ie6/</guid><description><![CDATA[<p>在css中，max-width、max-height、min-width和min-height这四个属性分别表示最大宽度、最大高度、最小宽度和最小高度。这个是完全w3c的东西，不过可惜ie6并不支持它。虽然目前ie7支持，但从目前ie使用者数量庞大角度来说，如果你要用到min或者max什么属性的话，你就得考虑考虑怎么搞搞了。尤其在ie下用到float属性布局的时候，往往会出现很郁闷的情况。</p><p>目前在ie6下实现min-with效果有三种办法，这里你可以看到这三种解决方案。除了第二种是纯css方案以外，其他两个都是js解决。为了在FF下和IE下能够用一个css定义，我更偏向使用第三种，即通过一个js使ie6支持这四个属性。</p><p>这里简单介绍下，因为我目前也在用这个，效果很不错。</p><p>下载该<a target="_blank" href="/upload/2009/1/minmax.rar">js文件</a>head区调用即可。这里是<a target="_blank" href="http://www.doxdesk.com/software/js/minmax.html">该js的介绍页面</a>，更多关于此文件的说明可以上去看看。</p>]]></description><category>Note</category><comments>http://www.flyz.com.cn/Note/min-with-for-ie6/#comment</comments><wfw:comment>http://www.flyz.com.cn/</wfw:comment><wfw:commentRss>http://www.flyz.com.cn/feed.asp?cmt=45</wfw:commentRss><trackback:ping>http://www.flyz.com.cn/cmd.asp?act=tb&amp;id=45&amp;key=a4704679</trackback:ping></item><item><title>修改用户配置文件目录(USERPROFILE)</title><author>lucienx@gmail.com (lucien)</author><link>http://www.flyz.com.cn/Note/41/</link><pubDate>Fri, 30 Jan 2009 17:15:22 +0800</pubDate><guid>http://www.flyz.com.cn/Note/41/</guid><description><![CDATA[<p>Windows系统的缺省用户配置文件和文档目录是C:\Documents And Settings\&lt;user&gt;，下面一般放特定用户的各种配置文件，比如Internet临时文件，cookie文件，等等。</p><p>但是由于C盘一般不大，所以当此文件夹大小增长时，就会耗尽C盘空间；另外一个是，本来配置文件是为了方便用户使用，但是因为是在C盘，很多用户害怕重新装系统或者其他原因放在C盘不方便，只好弃而不用，只好寻找一种可以挪动该文件夹得方法，按如下步骤可以做。</p><p>修改注册表的ProfileImagePath值<br />首先必须找到该用户的SID，进入下列键值：<br />HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\<br />一般而言，SID像以下形式：<br />S-1-5-21-1904620462-2100430276-3594733784-1009<br />找到和该用户match的SID，修改该SID下的ProfileImagePath为新的USERPROFILE路径 <br />修改USER SHELL FOLDERS和SHELL FOLDERS<br />HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders<br />HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders<br />你会发现在上述两项key下面，有各种键，比如Local Settings，APP Data之类的，修改这些键的值指向新的USERPROFILE <br />重新以该用户登入即可。</p><p>运行Set|grep USERPROFILE验证USERPROFILE确实被修改了</p>]]></description><category>Note</category><comments>http://www.flyz.com.cn/Note/41/#comment</comments><wfw:comment>http://www.flyz.com.cn/</wfw:comment><wfw:commentRss>http://www.flyz.com.cn/feed.asp?cmt=41</wfw:commentRss><trackback:ping>http://www.flyz.com.cn/cmd.asp?act=tb&amp;id=41&amp;key=3801d350</trackback:ping></item><item><title>文件恢复</title><author>lucienx@gmail.com (lucien)</author><link>http://www.flyz.com.cn/Note/40/</link><pubDate>Sat, 10 Jan 2009 17:13:11 +0800</pubDate><guid>http://www.flyz.com.cn/Note/40/</guid><description><![CDATA[<p>莫名奇妙的，老汪的网站文件被删掉了，查服务器日志，找不到任何痕迹，检查注册表，检查蛛丝马迹，一点都没有任何迹象表明是服务器被入侵了。</p><p>而且现在这年头，一般HACKER也没有这么没道德吧？</p><p>算了，反正现在最重要的事情是怎么把文件恢复回来。</p><p>郁闷的是，这个网站的文件太多而且很大，所以没有备份。</p><p>没有办法的办法，只有试着恢复文件了。</p><p>一开始，也是用老牌恢复软件Easyrecovery，可是怎么也识别不了这块1TB的硬盘的分区。</p><p>不知道是版本太老还是其他什么原因。</p><p>而且按照情况来看，这个网站的文件应该是被执行了删除操作，很明显，残留的几个文件夹明显是没有被删除掉的。</p><p>所以用点简单的恢复工具应该还是可行的。</p><p>于是首先暂停了一切可能对该分区进行读写的操作和任务。并且有一点值得欣慰的是，发现得比较早。所以这个分区的状态还是保护得比较好。</p><p>找了几个工具，好不容易才找到一个免费的可以使用的破解版工具。</p><p>这个软件应该是国外软件汉化过来的，不过挺好用就是了，对付被删除的文件还是绰绰有余的。</p><p>需要的朋友可以点此处下载：<a target="_blank" href="/upload/2009/1/200901101723497808.rar">Recuva.rar1.22.384（汉化版）</a></p><p>软件名称：Recuva 版本：1.22.384（汉化版）</p><p><a title="开始是操作向导，如果你不需要操作向导，直接点取消就行了，如果以后都不需要向导提示，选中图中红色框部分，就OK。" href="/upload/2009/1/200901101728252158.gif"><img alt="" src="/upload/2009/1/200901101728252158.gif" /></a></p><p>开始是操作向导，如果你不需要操作向导，直接点取消就行了，如果以后都不需要向导提示，选中图中红色框部分，就OK。</p><p><a title="选择恢复的文件的类型，1.图片、2.音乐、3.文档、4.视频、5.其他" href="/upload/2009/1/200901101739445554.gif"><img alt="" src="/upload/2009/1/200901101739445554.gif" /></a></p><p>选择恢复的文件的类型，1.图片、2.音乐、3.文档、4.视频、5.其他</p><p><a title="确定文件的位置，1.不能确定文件的位置，则搜索所有硬盘、2.在移动存储卡上、3.搜索我的文档、4.搜索回收站、5、选择某个特定的目录。" href="/upload/2009/1/200901101756092833.gif"><img alt="" src="/upload/2009/1/200901101756092833.gif" /></a></p><p>确定文件的位置，1.不能确定文件的位置，则搜索所有硬盘、2.在移动存储卡上、3.搜索我的文档、4.搜索回收站、5、选择某个特定的目录。</p><p><a title="如果需要深度扫描，则选中Enable Deep Scan选项。" href="/upload/2009/1/200901121432575266.gif"><img alt="" src="/upload/2009/1/200901121432575266.gif" /></a></p><p>如果需要深度扫描，则选中Enable Deep Scan选项。</p><p><a title="扫描完以后出现结果，这是图片的可预览视图，选中需要恢复的文件，点恢复按钮即可。也可点击Switch to advanced mode按钮进入高级模式。" href="/upload/2009/1/200901121438081300.gif"><img alt="" src="/upload/2009/1/200901121438081300.gif" /></a></p><p>扫描完以后出现结果，这是图片的可预览视图，选中需要恢复的文件，点恢复按钮即可。也可点击Switch to advanced mode按钮进入高级模式。</p><p><a title="此图是列表模式的高级模式，可进行的操作有，选择区域，选择需要恢复的文件的扩展名。预览文件的信息等。" href="/upload/2009/1/200901121442541862.gif"><img alt="" src="/upload/2009/1/200901121442541862.gif" /></a></p><p>此图是列表模式的高级模式，可进行的操作有，选择区域，选择需要恢复的文件的扩展名。预览文件的信息等。</p><p>其他信息，可根据自己的需要在选项中设置。</p>]]></description><category>Note</category><comments>http://www.flyz.com.cn/Note/40/#comment</comments><wfw:comment>http://www.flyz.com.cn/</wfw:comment><wfw:commentRss>http://www.flyz.com.cn/feed.asp?cmt=40</wfw:commentRss><trackback:ping>http://www.flyz.com.cn/cmd.asp?act=tb&amp;id=40&amp;key=c3b0a27f</trackback:ping></item><item><title>MSXML. xmlhttp 的应用参考</title><author>lucienx@gmail.com (lucien)</author><link>http://www.flyz.com.cn/Note/39/</link><pubDate>Mon, 29 Dec 2008 16:13:12 +0800</pubDate><guid>http://www.flyz.com.cn/Note/39/</guid><description><![CDATA[<p>XMLHTTP应用参考<br />一、使用步骤：<br />1、创建XMLHTTP对象 //需MSXML4.0支持<br />2、打开与服务端的连接，同时定义指令发送方式，服务网页(URL)和请求权限等。客户端通过Open命令打开与服务端的服务网页的连接。与普通HTTP指令传送一样，可以用&quot;GET&quot;方法或&quot;POST&quot;方法指向服务端的服务网页。 <br />3、发送指令。 <br />4、等待并接收服务端返回的处理结果。 <br />5、释放XMLHTTP对象</p><p>二、XMLHTTP方法： <br />Open（ bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword ）<br />bstrMethod： 数据传送方式，即GET或POST。<br />bstrUrl： 服务网页的URL。<br />varAsync： 是否同步执行。缺省为True，即同步执行，但只能在DOM中实施同步执行。用中一般将其置为False，即异步执行。<br />bstrUser： 用户名，可省略。<br />bstrPassword：用户口令，可省略。<br />Send（ varBody ）<br />varBody：指令集。可以是XML格式数据，也可以是字符串，流，或者一个无符号整数数组。也可以省略，让指令通过Open方法的URL参数代入。</p><p>setRequestHeader（ bstrHeader, bstrvalue ）<br />bstrHeader：HTTP 头(header) <br />bstrvalue： HTTP 头(header)的值</p><p>如果Open方法定义为POST，可以定义表单方式上传： <br />xmlhttp.setRequestHeader（ &quot;Content-Type&quot;, &quot;application/x-www-form-urlencoded&quot;）</p><p>三、XMLHTTP属性： <br />onreadystatechange：在同步执行方式下获得返回结果的事件句柄。只能在DOM中调用。 <br />responseBody： 结果返回为无符号整数数组。 <br />responseStream： 结果返回为IStream流。 <br />responseText ： 结果返回为字符串。 <br />responseXML： 结果返回为XML格式数据。</p><p>四、示例：<br /><code>&lt;script language=&quot;JavaScript&quot;&gt; <br />function getDatal(url){ <br />var xmlhttp = new ActiveXObject(&quot;MSXML2.XMLHTTP.4.0&quot;);//创建XMLHTTPRequest对象，需MSXML4.0支持 [&quot;MSXML2.XMLHTTP.4.0&quot;,&quot;MSXML2.DOMDocument.4.0&quot;]<br />xmlhttp.open(&quot;POST&quot;,url,false,&quot;&quot;,&quot;&quot;); //使用HTTP GET初始化HTTP请求 <br />xmlhttp.setRequestHeader(&quot;Content-Type&quot;, &quot;application/x-www-form-urlencoded&quot;) ;<br />xmlhttp.send(&quot;param=aa&quot;); //发送HTTP请求并获取HTTP响应 <br />return xmlhttp.responseText; //获取返回结果字符串 <br />} <br />&lt;/script&gt;</code></p>]]></description><category>Note</category><comments>http://www.flyz.com.cn/Note/39/#comment</comments><wfw:comment>http://www.flyz.com.cn/</wfw:comment><wfw:commentRss>http://www.flyz.com.cn/feed.asp?cmt=39</wfw:commentRss><trackback:ping>http://www.flyz.com.cn/cmd.asp?act=tb&amp;id=39&amp;key=37116fda</trackback:ping></item><item><title>JS关闭网页窗口不提示</title><author>lucienx@gmail.com (lucien)</author><link>http://www.flyz.com.cn/Note/38/</link><pubDate>Mon, 29 Dec 2008 16:07:15 +0800</pubDate><guid>http://www.flyz.com.cn/Note/38/</guid><description><![CDATA[<p>其实现在很流行网页炸弹，但是我们换一个思路来想，网页炸弹的目的无非也就是两个。<br />1、造成目标网站无法正常运行。<br />2、造成目标网站用户不能正常浏览。<br />我觉得有时候并不需要绞尽脑汁的去思考如何把网站拖死，例如下面这一个代码，我就认为可以很好的胜任网页炸弹的任务。<br />用户一打开网页就会关掉网页。这样一来，炸弹的痕迹也比较不明显了。<br /><code>&lt;script&gt;<br />window.opener = null; <br />window.open('', '_self'); <br />window.close();<br />&lt;/script&gt;</code></p>]]></description><category>Note</category><comments>http://www.flyz.com.cn/Note/38/#comment</comments><wfw:comment>http://www.flyz.com.cn/</wfw:comment><wfw:commentRss>http://www.flyz.com.cn/feed.asp?cmt=38</wfw:commentRss><trackback:ping>http://www.flyz.com.cn/cmd.asp?act=tb&amp;id=38&amp;key=21509584</trackback:ping></item></channel></rss>
