<?xml version="1.0" encoding="UTF-8"?>
  <feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html"><![CDATA[HC博客]]></title>
  <subtitle type="html"><![CDATA[上善若水]]></subtitle>
  <id>http://www.vtimes.net/blog/</id>
  <link rel="alternate" type="text/html" href="http://www.vtimes.net/blog/" /> 
  <link rel="self" type="application/atom+xml" href="http://www.vtimes.net/blog/atom.asp" /> 
  <generator uri="http://www.pjhome.net/" version="2.8">PJBlog3</generator> 
  <updated>2015-04-10T09:40:36+08:00</updated>

  <entry>
	  <title type="html"><![CDATA[ &amp;的转义字符缩写为什么用amp]]></title>
	  <author>
		 <name>ade</name>
		 <uri>http://www.vtimes.net/blog/</uri>
		 <email>webmaster@historycreator.com</email>
	  </author>
	  <category term="" scheme="http://www.vtimes.net/blog/default.asp?cateID=3" label="IT" /> 
	  <updated>2015-04-10T09:40:36+08:00</updated>
	  <published>2015-04-10T09:40:36+08:00</published>
		  <summary type="html"><![CDATA[<p>我们知道, 在XML/HTML等标记语言中,有5个预定义的转义字符,分别是大于(&gt;)、小于(&lt;)、与号(&amp;)、单引号(&lsquo;)和双引号(&ldquo;)。 其中与号的缩写采用的是&amp;amp;, 那么amp是哪个单词的缩写呢？</p>
<p>其实 amp 是单词 ampersand 的缩写，就是指&amp;符号。</p>
<p>因为字符&amp;对应的有&ldquo;and&rdquo;这个单词了，所以表示&amp;的单词&ldquo;ampersand&rdquo;，在19世纪之前并不大用到，意为&ldquo;and  per se and&rdquo;(&amp;的发音也是由此衍生而出的)，或多或少有点&ldquo;and [the symbol] by itself is  and&rdquo;的意思，总之就是表示&ldquo;and&rdquo;的符号。</p>
<p>在比较早期的英文词汇系统中，&ldquo;per  se(本身)&rdquo;优先于词汇表中的一切词汇，意思差不多相当于&ldquo;itself&rdquo;；与&ldquo;A&rdquo;、&ldquo;I&rdquo;等词相似，&ldquo;per  se&rdquo;也曾经是一个单独使用的词汇。后来，&amp;被放在了英文字母表的后面： &hellip; X, Y, Z, &amp;。读起来就是：&ldquo;&hellip; X, Y,  Z, and per se and(ampersand)&rdquo;。</p>
<p>&ldquo;ampersand&rdquo; 这个词1837年被第一次加到字典中，它是 &ldquo;and, per se and&rdquo; 的连读音。&amp; 包含在任何罗马字体中，在现代语文中被频繁使用。</p>
<p>本文在 T文库 上同时发布,&nbsp; <a href="http://www.twenku.com/html/t2015/663.html" target="_blank">http://www.twenku.com/html/t2015/663.html</a></p>
<p>转载请注明出处.</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.vtimes.net/blog/article/what-amp-is-short-for.htm" /> 
	  <id>http://www.vtimes.net/blog/default.asp?id=37</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[Unable to find an image mannipulat component错误解决]]></title>
	  <author>
		 <name>ade</name>
		 <uri>http://www.vtimes.net/blog/</uri>
		 <email>webmaster@historycreator.com</email>
	  </author>
	  <category term="" scheme="http://www.vtimes.net/blog/default.asp?cateID=3" label="IT" /> 
	  <updated>2013-03-27T17:13:21+08:00</updated>
	  <published>2013-03-27T17:13:21+08:00</published>
		  <summary type="html"><![CDATA[<p>使用FCK+CKFind上传图片时, 提示 Unable to find an image manipulation component,</p>
<p>升级使服务器支持 AspJpeg , 问题得到了解决，</p>
<p>网上查说支持 ASP.NET 1.1/2.0 或或 ASPImage 2 或  ASPThumb也可.</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.vtimes.net/blog/article/ckeditor-Unable-to-find-an-image-manipulation-comp.html" /> 
	  <id>http://www.vtimes.net/blog/default.asp?id=36</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[锂电池过放电的一个激活办法]]></title>
	  <author>
		 <name>ade</name>
		 <uri>http://www.vtimes.net/blog/</uri>
		 <email>webmaster@historycreator.com</email>
	  </author>
	  <category term="" scheme="http://www.vtimes.net/blog/default.asp?cateID=4" label="生活" /> 
	  <updated>2012-11-07T09:44:16+08:00</updated>
	  <published>2012-11-07T09:44:16+08:00</published>
		  <summary type="html"><![CDATA[<p>8700锂电池放电时间太长了, 无法开机, 也充不进电了, 用各种方法折腾后, 也没有效果, 忽然想起用冷冻激活的方法, 竟然奏效, 方法如下:</p>
<ul>
    <li>用报纸把电池包起来,放入冰箱里冷冻(报纸可吸收多余水份), 有人还建议再放进塑料袋包上. 我没有用熟料袋.</li>
    <li>冷冻了一下午, 放到暖气片上烘了一个小时(网上建议三天后取出常温下放二天)</li>
    <li>放手机上充电, 成功开机, 并开始充电, 现在状况良好(有人估计可救回80%-90%)</li>
</ul>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.vtimes.net/blog/article/li-battery-recover-from-Discharged-too-much.html" /> 
	  <id>http://www.vtimes.net/blog/default.asp?id=35</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[Servlet的Get与Post方法中中文乱码的不同处理]]></title>
	  <author>
		 <name>ade</name>
		 <uri>http://www.vtimes.net/blog/</uri>
		 <email>webmaster@historycreator.com</email>
	  </author>
	  <category term="" scheme="http://www.vtimes.net/blog/default.asp?cateID=3" label="IT" /> 
	  <updated>2012-06-04T11:03:08+08:00</updated>
	  <published>2012-06-04T11:03:08+08:00</published>
		  <summary type="html"><![CDATA[<p>TomCat以ISO-8859-1作为默认的编码，</p>
<p>也就是说当通过Get方式提交数据时，Servlet容器是以ISO-8859-1对接受过来的字节流进行编码的。如果恰好传来的数据确实是IS0-8859-1编码，那么是不会出现乱码的。如果不是，则会一般都会出现乱码。即使你设置了</p>
<p>request.setCharacterEncoding(&quot;gb2312&quot;);</p>
<p>解决方法就是把编码完的字符串再还原成原来的字节数据，如何还原？你用的是IS0-8859-1编的码， 你再用IS0-8859-1去解码就行了。得到原始字节数据后，再用指定的字符集编码即可。</p>
<p>&nbsp;</p>
<p>示例</p>
<p>//login.html</p>
<p>========================</p>
<p>&lt;a href=&quot;HelloWorld?username=你好世界&quot;&gt;Get提交&lt;/a&gt;</p>
<p>========================</p>
<p>HelloWorld Servlet的Get方法：</p>
<p>========================</p>
<p>response.setContentType(&quot;text/html;charset=gb2312&quot;);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; PrintWriter out = response.getWriter();&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String username = request.getParameter(&quot;username&quot;);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //www.vtimes.net, 注意下面的方法<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; username = new String(username.getBytes(&quot;ISO-8859-1&quot;),&quot;gb2312&quot;);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; out.println(username);</p>
<p>========================</p>
<p>可以正常输出中文。</p>
<p>&nbsp;</p>
<p>而对于Post来的数据， 使用</p>
<p>request.setCharacterEncoding(&quot;gb2312&quot;); //参数是你项目使用的字符集</p>
<p>是有效的，一般不用做特殊处理</p>
<p>login.html</p>
<p>========================</p>
<p>&nbsp;&lt;form name=&quot;form1&quot; action=&quot;HelloWorld&quot; method=&quot;post&quot;&gt;<br />
username:&lt;input name=&quot;username&quot; type=&quot;text&quot; /&gt;<br />
<br />
&lt;input name=&quot;submit&quot; type=&quot;submit&quot; value=&quot;submit&quot; /&gt;<br />
&lt;/form&gt;<br />
========================</p>
<p>HelloWorld Servlet的Post方法：</p>
<p>========================</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; request.setCharacterEncoding(&quot;gb2312&quot;);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; response.setContentType(&quot;text/html;charset=gb2312&quot;);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; PrintWriter out = response.getWriter();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String username = request.getParameter(&quot;username&quot;);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; out.println(username);</p>
<p>========================</p>
<p>也可以正常输出。</p>
<p>&nbsp;</p>
<p>另外需要注意的是</p>
<p>如果直接在地址栏里输入：</p>
<p>&nbsp;http://localhost:8080/HelloWorld/HelloWorld?username=你好世界</p>
<p>不同的浏览器会有不同的处理方式。所以输出的结果也有所不同。</p>
<p>在IE下上述的Servlet可以正常工作， 但是FireFox不行。好象是因为FireFox传递的数据都是经过了URL编码，这里没有编码，传送的时候又进行了解码就出问题了。这个有空可以再推敲下。</p>
<p>总之，为了保持程序的通用性，最好在URL里传参数不要用中文，用的话也要先用URLEncoder编码后传递。</p>
<p>&nbsp;附一个关于URL编码问题的文章,总结得不错：http://blog.sina.com.cn/s/blog_67963cad0100ijxo.html</p>
<p>&nbsp;</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.vtimes.net/blog/article/servlet-get-post-chinese-encodding-2012.html" /> 
	  <id>http://www.vtimes.net/blog/default.asp?id=34</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[MFC结合使用OpenCV提示内存泄露]]></title>
	  <author>
		 <name>ade</name>
		 <uri>http://www.vtimes.net/blog/</uri>
		 <email>webmaster@historycreator.com</email>
	  </author>
	  <category term="" scheme="http://www.vtimes.net/blog/default.asp?cateID=3" label="IT" /> 
	  <updated>2012-04-23T11:15:11+08:00</updated>
	  <published>2012-04-23T11:15:11+08:00</published>
		  <summary type="html"><![CDATA[<p>&nbsp; 在MFC中使用OpenCV中的视频捕捉等功能时，发现关闭程序会提示出现内存泄露，并给出大量的Object&nbsp; dumping.</p>
<p>&nbsp; 如果确定代码没有问题，可以尝试将工程属性设置-&gt;配置属性中，将&quot;在共享dll使用MFC&quot;改为&quot;在静态库中使用 MFC&quot;. 竟然解决了问题...<br />
&nbsp;</p>
<p>&nbsp; 原因没有深究，有空可以改进下。</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.vtimes.net/blog/article/mfc-opencv-memory-leack-2012.html" /> 
	  <id>http://www.vtimes.net/blog/default.asp?id=33</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[使用Java SAX API读取XML文档[视频]]]></title>
	  <author>
		 <name>ade</name>
		 <uri>http://www.vtimes.net/blog/</uri>
		 <email>webmaster@historycreator.com</email>
	  </author>
	  <category term="" scheme="http://www.vtimes.net/blog/default.asp?cateID=3" label="IT" /> 
	  <updated>2011-11-27T21:26:20+08:00</updated>
	  <published>2011-11-27T21:26:20+08:00</published>
		  <summary type="html"><![CDATA[<p>视频下载地址:<a target="_blank" href="http://dl.dbank.com/c0ot8hoa2y">http://dl.dbank.com/c0ot8hoa2y</a></p>
<p>视频演示了使用JAXP SAX API读取上一讲中的books.xml里的内容,并显示到控制台. <strong>注意</strong>在解析时与DOM一样，需要使用带有dtd验证的xml 文件,如果不这样,在解析的结果里会出现很多空白的元素.</p>
<p>SAX的工作原理简单地说就是对文档进行顺序扫描，当扫描到文档（document）开始与结束、元素（element）开始与结束、文档（document）结束等地方时通知事件处理方法，由事件处理方法做相应处理，然后继续同样的扫描，直至文档结束。</p>
<p>SAX是一个用于处理XML事件驱动的&ldquo;推&rdquo;模型，虽然它不是W3C标准，但它却是一个得到了广泛认可的API。SAX解析器不像DOM那样建立一个完整的文档树，而是在读取文档时激活一系列事件，这些事件被推给事件处理器，然后由事件处理器提供对文档内容的访问。</p>
<p>常见的事件处理器有三种基本类型：</p>
<p>用于访问XML DTD内容的DTDHandler；</p>
<p>用于低级访问解析错误的ErrorHandler；</p>
<p>用于访问文档内容的ContentHandler，这也是最普遍使用的事件处理器。</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.vtimes.net/blog/article/read-xml-by-jaxp.html" /> 
	  <id>http://www.vtimes.net/blog/default.asp?id=31</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[解决FCKeditor上传报103错误]]></title>
	  <author>
		 <name>ade</name>
		 <uri>http://www.vtimes.net/blog/</uri>
		 <email>webmaster@historycreator.com</email>
	  </author>
	  <category term="" scheme="http://www.vtimes.net/blog/default.asp?cateID=3" label="IT" /> 
	  <updated>2011-11-12T19:28:29+08:00</updated>
	  <published>2011-11-12T19:28:29+08:00</published>
		  <summary type="html"><![CDATA[<p>使用FCKEditor上传东西的时候, 火狐IE都提示上传文件错误, 错误代码:103或者Error on file upload, Error number :103. </p>
<p>发现这个问题可能遇到的比较少, 因为可能不容易犯这个错误,但在接手一些别人写的程序的时候又要进行修改的时候, 可能就会忽略这个设置.</p>
<p>网上只有一处有人提出来有这个问题. 但没有正面说明,&nbsp; 其实这个问题的出现是因为没有正确设置上传目录所致,</p>
<p>以asp为例, 就是在fckeditor/editor/filemanager/connectors/asp/config.asp里进行设置, 其他语言比如asp.net, 则在fckeditor/editor/filemanager/connectors/aspx/config.ascx里, PHP等其他语言同理.</p>
<p>在该文件里找到ConfigUserFilesPath, 正确设置一下就行了， 比如:</p>
<p>ConfigUserFilesPath = &quot;/yourdir/uploads/&quot;</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.vtimes.net/blog/article/solution-fckeditor-103error.html" /> 
	  <id>http://www.vtimes.net/blog/default.asp?id=30</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[在win32控制台程序中使用MFC]]></title>
	  <author>
		 <name>ade</name>
		 <uri>http://www.vtimes.net/blog/</uri>
		 <email>webmaster@historycreator.com</email>
	  </author>
	  <category term="" scheme="http://www.vtimes.net/blog/default.asp?cateID=3" label="IT" /> 
	  <updated>2011-10-01T14:44:54+08:00</updated>
	  <published>2011-10-01T14:44:54+08:00</published>
		  <summary type="html"><![CDATA[<p>&nbsp; MFC中有许多类用起来相比直接用win32 api方便很多. 在win32控制台中使用这个类库也很方便, 只需要进行简单的设置就可以了. 比如我们要进行基本的网络编程, 使用WinSock直接写也可以, 不过MFC提供了一个CSocket类, 进行了很好的封装, 使用这个类可以节省大量时间.&nbsp;</p>
<p>在win32下使用CSocket类的方法如下:</p>
<p>1. 新建Win32 Console Application工程</p>
<p>2. 在Project-&gt;general-&gt;Use of MFC::选择Use MFC in a Shared DLL 或者 Use MFC in a Static Library.</p>
<p>3. 在stdafx.h中, 在第一行添加 #include &quot;afxsock.h&quot;, 注意是在第一行</p>
<p>4. main函数修改如下:</p>
<p>&nbsp; <br />
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])<br />
{</p>
<p>&nbsp;&nbsp; int nRetCode = 0;<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))<br />
&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; nRetCode = 1;<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; else<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp; &nbsp; /*你自己的代码, <a href="http://www.vtimes.net/">www.vtimes.net</a>, <a href="http://www.vtimes.net/blog/www.historycreator.com">www.historycreator.com</a>*/<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp; return nRetCode;</p>
<p>}</p>
<p>这样就可以使用CSocket类进行网络编程了.</p>
<p>&nbsp;</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.vtimes.net/blog/article/method-using-mfc-under-win32-program.html" /> 
	  <id>http://www.vtimes.net/blog/default.asp?id=29</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[ASP.NET 基本权限控制简单演示]]></title>
	  <author>
		 <name>ade</name>
		 <uri>http://www.vtimes.net/blog/</uri>
		 <email>webmaster@historycreator.com</email>
	  </author>
	  <category term="" scheme="http://www.vtimes.net/blog/default.asp?cateID=3" label="IT" /> 
	  <updated>2011-06-10T09:42:49+08:00</updated>
	  <published>2011-06-10T09:42:49+08:00</published>
		  <summary type="html"><![CDATA[<p>本文配套视频下载:</p>
<p><a href="http://dl.dbank.com/c0yvfu9zgx" target="_blank">下载地址</a></p>
<p>有了上一节的数据库控件GridView 等的基本使用方法 演示, 我们接着来进行演示基本的权限控制.</p>
<p>我们设定这样一个场景, 用户只有登录进系统, 才能对现有的用户进行编辑, 添加新的用户等. <br />
否则用户访问 AddUser.aspx, ShowUser.aspx, UserList.aspx 都自动跳转到 登录页面 Login.aspx<br />
<br />
怎么实现呢? 我们总不能用户每次操作都要连接数据库验证一次吧? 这个是没有必要的. <br />
<br />
<br />
我们现在使用 Session 来进行控制.<br />
<br />
<br />
1. 修改各个页面进行验证 Session 中是否有用户的登录信息, 有的话就让其访问, 否则就跳转到 Login.aspx, Session 详细细节请自己查阅 msdn<br />
<br />
运行可以看到,已经跳转到了 Login.aspx 页面, 只不过还没有新建该页面.<br />
<br />
2. 新建 Login.aspx, 实现登录功能<br />
<br />
实现功能看演示.<br />
<br />
成功登录后. 如何退出呢, 其实就是将 username 从 session 中移除就行. 或者直接 abandan&nbsp; session,&nbsp; 我们做一下<br />
<br />
3. 新建了 Logout.aspx<br />
<br />
注意在纯 html 中使用 / 表示网站根目录<br />
在代码中使用的是 ~/ 表示根目录</p>
<p>&nbsp;</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.vtimes.net/blog/article/aspnet-state-management-using-session.html" /> 
	  <id>http://www.vtimes.net/blog/default.asp?id=28</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[ASP.NET 数据库控件使用方法简单演示]]></title>
	  <author>
		 <name>ade</name>
		 <uri>http://www.vtimes.net/blog/</uri>
		 <email>webmaster@historycreator.com</email>
	  </author>
	  <category term="" scheme="http://www.vtimes.net/blog/default.asp?cateID=3" label="IT" /> 
	  <updated>2011-06-04T00:07:34+08:00</updated>
	  <published>2011-06-04T00:07:34+08:00</published>
		  <summary type="html"><![CDATA[<p>视频下载地址为:</p>
<p><a href="http://dl.dbank.com/c0z57cv619" target="_blank">下载地址1</a></p>
<p>以一个用户信息表为例进行演示</p>
<p><br />
数据库名: vtimesnews<br />
表: users{userid, username, password, email}<br />
&nbsp;</p>
<p>基本演示内容:演示基本的数据的添加 编辑 删除</p>
<p>演示顺序:<br />
新建一个工程<br />
<br />
新建数据库<br />
1. 添加用户功能<br />
2. 使用GridView<br />
3. 添加一个自己定义的列<br />
&nbsp; 希望大家注意, 演示中开始没有保存连接字符串, 这里强调一下, 最好选择保存到 web.config 里. 如果想使用 web.config 里已经有了的字符串, 可以使用表达式&lt;%$ ConnectionStrings:vtimesnews %&gt;<br />
来代替,&nbsp; 请记住这个用法. 推荐, 在视频最后有演示.<br />
<br />
<br />
<br />
本演示实现了基本功能,具体的还有很多技巧和细节需要大家自己去挖掘。 请大家自己挖掘发现, 多查 MSDN 和网络。</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.vtimes.net/blog/article/aspnet-database-control-demo-2011.html" /> 
	  <id>http://www.vtimes.net/blog/default.asp?id=27</id>
  </entry>	
		
</feed>
