<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="http://wupei.j2megame.org/styles/rss.css" type="text/css"?>
<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  xmlns:admin="http://webns.net/mvcb/"
  xmlns="http://purl.org/rss/1.0/"
>
 <channel rdf:about="http://wupei.j2megame.org/rss.php?blogId=1&amp;profile=rss10">
  <title>Wupei&#039;s Blog</title>
  <link>http://wupei.j2megame.org/blog.php/myblog</link>
  <description></description>
    <dc:creator>wupei</dc:creator>
  <dc:date>2010-08-07T18:41:05Z</dc:date>
  <admin:generatorAgent rdf:resource="http://www.lifetype.net" />
  <items>
   <rdf:Seq>
       <rdf:li rdf:resource="http://wupei.j2megame.org/blog.php/myblog/reading/2009/11/01/all-reading" />
       <rdf:li rdf:resource="http://wupei.j2megame.org/blog.php/myblog/other/2009/10/27/b-line" />
       <rdf:li rdf:resource="http://wupei.j2megame.org/blog.php/myblog/myworks/2008/12/21/university-exe-src" />
       <rdf:li rdf:resource="http://wupei.j2megame.org/blog.php/myblog/j2me/2008/06/15/antenna-jad-manifest" />
       <rdf:li rdf:resource="http://wupei.j2megame.org/blog.php/myblog/j2me/2008/06/15/j2me-antenna" />
       <rdf:li rdf:resource="http://wupei.j2megame.org/blog.php/myblog/webdev/2008/06/02/utf-unicode-bom" />
       <rdf:li rdf:resource="http://wupei.j2megame.org/blog.php/myblog/j2me/2008/06/02/think-proguard" />
       <rdf:li rdf:resource="http://wupei.j2megame.org/blog.php/myblog/j2me/2008/06/01/thinking-in-j2me-game" />
       <rdf:li rdf:resource="http://wupei.j2megame.org/blog.php/myblog/webdev/2008/05/19/mysql3-to-mysql4" />
       <rdf:li rdf:resource="http://wupei.j2megame.org/blog.php/myblog/webdev/2008/05/19/reprint-mysql3-to-mysql4" />
      </rdf:Seq>
  </items> 
 </channel>
  <item rdf:about="http://wupei.j2megame.org/blog.php/myblog/reading/2009/11/01/all-reading">
  <title>看过的书籍一览</title>
  <link>http://wupei.j2megame.org/blog.php/myblog/reading/2009/11/01/all-reading</link>
  <dc:description>&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://wupei.j2megame.org/plugins/plogeshi/styles/plogeshi.css&quot; /&gt;&lt;p&gt;
1. 疯狂的程序员
&lt;/p&gt;
&lt;p&gt;
&lt;img src=&quot;http://wupei.j2megame.org/gallery/1/crazyprogrammer.jpg&quot; alt=&quot;疯狂的程序员&quot; align=&quot;left&quot; /&gt; 本书是一部真实再现程序员成长历程的原创小说，以作者的学习、工作、生活为原型，分为大学、工作、创业三部分，环环相扣，精彩迭出，其中作为主线的实际项
目案例都基于作者深厚的技术积淀。本书生动描写了软件行业中的形形色色的人和事，形象而深刻、生动而亲切，充满了智慧的职场警句，能让不同职业的读者都受
益匪浅。
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://wupei.j2megame.org/plugins/plogeshi/styles/plogeshi.css&quot; /&gt;&lt;/p&gt;
&lt;p&gt;
2. 明朝那些事1-7
&lt;/p&gt;
&lt;p&gt;
&lt;img src=&quot;http://wupei.j2megame.org/gallery/1/mingchaonaxieshi.jpg&quot; alt=&quot;明朝那些事&quot; align=&quot;left&quot; /&gt; 《明朝那些事儿》主要讲述的是从1344年到1644年这三百年间关于明朝的一些事情，以史料为基础，以年代和具体人物为主线，并加入了小说的笔法，语言
幽默风趣。对明朝十七帝和其他王公权贵和小人物的命运进行全景展示，尤其对官场政治、战争、帝王心术着墨最多，并加入对当时政治经济制度、人伦道德的演
义。
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
3. 货币战争
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&lt;img src=&quot;http://wupei.j2megame.org/gallery/1/huobizhanzheng.jpg&quot; alt=&quot;货币战争&quot; align=&quot;left&quot; /&gt; 《货币战争》立足于自英格兰银行成立以来300年间的西方近代史与金融发展史，通过揭示大量不为人知的历史真相，再现了国际金融集团及其代言人在世界金融
史上翻云覆雨的过程，通过分析统治世界的精英俱乐部如何通过煽动政治事件、诱发经济危机，控制世界财富的流向与分配，旨在告诫逐步开放的中国金融市场警惕
潜在的金融打击，为迎接一场&amp;ldquo;不流血&amp;rdquo;的战争做好准备。
历史的经验表明，对中国金融体系的打击绝不是会不会的问题，而是什么时候和以什么方式进行的问题，任何侥幸的心理都会造成致命的后果。有感于此，作者将自
己多年来对美国金融内幕的研究整理成文，希望能给中国的决策者们提个醒，不要丧失金融方面的警惕性。
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
4. 杜拉拉升职记1-2 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&lt;img src=&quot;http://wupei.j2megame.org/gallery/1/dulala.jpg&quot; alt=&quot;杜拉拉&quot; align=&quot;left&quot; /&gt; 　中国白领必读的职场修炼小说。&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
　　大部分人是要谋生的，不单要谋生，而且希望谋得好。 &lt;br /&gt;
说到谋生，有人适合自己做老板，更多的人则靠打工。其实，自己做老板，也就是给自己打工。您可以消遣的来看看这本纯属虚构的小说，也可以把它当经验分享之类的职场实用手册来使用。 &lt;br /&gt;
小说的主人公杜拉拉是典型的中产阶级的代表，她没有背景，受过较好的教育，走正规路子，靠个人奋斗获取成功。对于大部分人来说，她的故事比比尔盖茨的更值得参考。 &lt;br /&gt;
可能你干了很多活上司却不待见你，没准你有个本事不大脾气不小的下属，也许你的平级争风吃醋不怀好意，或者你的客户拽得像二五八万&amp;mdash;&amp;mdash;你要很好地完成任务，就要设法摆平他们。 &lt;br /&gt;
你可以消遣地来看看这本纯属虚构的小说，也可以把它当经验分享之类的职场实用手册来使用。小说
的主人公杜朝阳是典型的中产阶级代表，她没有背景，受过较好的教育，靠个人奋斗获取成功。小说中拉拉在外企的经历跨度八年，拉拉从一个朴实的销售助理，成
长为一个专业干练的HR经理，见识了各种职场变迁，也历经了各种职场磨练。 &lt;br /&gt;
对于大部分人来说，她的故事比比尔&amp;middot;盖茨的更值得参考！
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;</dc:description>
      
    <dc:subject>文摘</dc:subject>
     
    
  <dc:date>2009-11-01T23:12:00Z</dc:date>
    <dc:creator>wupei</dc:creator>
 </item>
  <item rdf:about="http://wupei.j2megame.org/blog.php/myblog/other/2009/10/27/b-line">
  <title>====我是美丽的分割线=====</title>
  <link>http://wupei.j2megame.org/blog.php/myblog/other/2009/10/27/b-line</link>
  <dc:description>&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://wupei.j2megame.org/plugins/plogeshi/styles/plogeshi.css&quot; /&gt;&lt;p&gt;
工作了快两年了,N久没有写技术博客了,工作期间大部分文档也都是在公司完成,并放在公司了...
&lt;/p&gt;
&lt;p&gt;
所以呢,这个博客以后就不再更新技术信息了.而是记录一些过程,记录一下有价值的信息.以便有所追寻.
&lt;/p&gt;
&lt;p&gt;
也算是把这个耗费很多时间建立起来的博客,有个用处~ 
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;color: #ffcc00&quot;&gt;重新开始吧~ &lt;/span&gt;
&lt;/p&gt;</dc:description>
      
    <dc:subject>其他</dc:subject>
     
    
  <dc:date>2009-10-27T22:58:31Z</dc:date>
    <dc:creator>wupei</dc:creator>
 </item>
  <item rdf:about="http://wupei.j2megame.org/blog.php/myblog/myworks/2008/12/21/university-exe-src">
  <title>大学自编程序大总结(可执行文件+源代码)</title>
  <link>http://wupei.j2megame.org/blog.php/myblog/myworks/2008/12/21/university-exe-src</link>
  <dc:description>&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://wupei.j2megame.org/plugins/plogeshi/styles/plogeshi.css&quot; /&gt;&lt;p&gt;
2008年要结束了..大学也即将结束..一切也将有新的开始..是该回首一下了...
&lt;/p&gt;
&lt;p&gt;
总结一下在大学编写的程序,应该是很有意义的事情,而且好久没有写文章啦...
&lt;/p&gt;
&lt;p&gt;
看了这个列表,也代表了自己的编程历程,随着代码量的提高,语言学习的改变,对于自己编程技术的一步一步的提升,确实起到了实质上的作用,不过呢,王道还是&lt;span style=&quot;color: #ffcc00&quot;&gt;&amp;quot;实践+理论&amp;quot;&lt;/span&gt;,大学其实还是蛮有收获的..虽然还是没有达到自己想到达的地步..
&lt;/p&gt;
&lt;p&gt;
先来个列表:
&lt;/p&gt;
&lt;p&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://wupei.j2megame.org/plugins/plogeshi/styles/plogeshi.css&quot; /&gt;&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;打地鼠&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 304行&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; VB&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2006年1月 &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/li&gt;
	&lt;li&gt;学生成绩管理系统&amp;nbsp;&amp;nbsp;&amp;nbsp; 600行&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; C&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  2006-3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/li&gt;
	&lt;li&gt;计算器&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 734行&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;nbsp; VB&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 2006-5&lt;/li&gt;
	&lt;li&gt;猜数字&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 355行&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; C++&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2006-9&lt;/li&gt;
	&lt;li&gt;黑白棋&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1485行&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;nbsp; C++&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;  2006-9&lt;/li&gt;
	&lt;li&gt;象棋&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 2192行&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; C++&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;  2006-11&lt;/li&gt;
	&lt;li&gt;一条龙游戏、数字拼图&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; C++ &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2006年11月25日－26日&lt;/li&gt;
	&lt;li&gt;黑白棋&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;J2ME&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 2006-12-17&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/li&gt;
	&lt;li&gt;黑白棋2.0&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;J2ME&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; 2006-12-22&lt;/li&gt;
	&lt;li&gt;计算器普通&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;VC&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;2007-3-14&lt;/li&gt;
	&lt;li&gt;ZhaGun程序&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3200行&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VC&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;2007-5-5 &lt;/li&gt;
	&lt;li&gt;简易聊天室&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VC&lt;/li&gt;
	&lt;li&gt;截屏程序&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 1200行左右&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; VC&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/li&gt;
	&lt;li&gt;J2ME坦克大战 &amp;nbsp; &amp;nbsp; &amp;nbsp; 7700行&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; J2ME&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2007-10-8 历时1个月 &lt;/li&gt;
	&lt;li&gt;Tiny语言词法语法分析器&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VC&lt;/li&gt;
	&lt;li&gt;截屏程序1.7 &amp;nbsp;&amp;nbsp; &amp;nbsp; 3000-4000行&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VC&lt;/li&gt;
	&lt;li&gt;校内应用开发&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PHP,HTML,JAVASCRIPT,GOOGLE MAP&lt;/li&gt;
	&lt;li&gt;http://j2megame.org&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; http://wupei.j2megame.org&lt;/li&gt;
	&lt;li&gt;其他的就是商业程序了..还是在大四实习的时候做的..就不总结了&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;
&lt;strong&gt;&lt;span style=&quot;color: #ffcc00&quot;&gt;一. 打地鼠&lt;/span&gt;&lt;/strong&gt;
&lt;p&gt;
代码: 304行&amp;nbsp; 语言:VB&amp;nbsp; 时间: 2006年1月 
&lt;/p&gt;
&lt;p&gt;
可执行文件与源代码: &lt;a id=&quot;res_98&quot; href=&quot;http://wupei.j2megame.org/gallery/1/c_hit.rar&quot; title=&quot;打地鼠&quot;&gt;c_hit.rar&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
示意图:
&lt;/p&gt;
&lt;p&gt;
&lt;img src=&quot;http://wupei.j2megame.org/gallery/1/c_hit.png&quot; alt=&quot;打地鼠示意图&quot; width=&quot;313&quot; height=&quot;342&quot; /&gt; 
&lt;/p&gt;
&lt;p&gt;
说明: 
&lt;/p&gt;
&lt;p&gt;
记得做这个程序的时候很有趣..大一上半学期学校开了汇编语言,感觉巨没用,整天在图书馆拿了本VB看(也是看网上的文章介绍的)就那么看啊看..在寒假回家的时候,突发灵感,要编一个VB的打地鼠游戏,幸好当时还学了点photoshop,虽然还不熟..那时候认为什么都要自己做,就开始咯,所有资源都是用potoshop自己做出来了(傻了点,现在看,社会分工还没有想到),编啊编,300多行的程序,愣编了2个通宵..修改BUG的时间非常长..后来才知道..所有变量都用的是全局变量...那一顿用..自己都搞不清楚哪个是哪个了..还是逻辑思维能力比较弱...组织不起来这样混乱的IF语句...还好,自己的第一个像样的程序算是完工了
&lt;/p&gt;
&lt;p&gt;
全局变量害死人...打死我我也不用了....555 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;color: #ffcc00&quot;&gt;二. 学生成绩管理系统&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt; 
&lt;/p&gt;
&lt;p&gt;
代码: 600行&amp;nbsp; 语言: C&amp;nbsp;&amp;nbsp; 时间:2006-3 
&lt;/p&gt;
&lt;p&gt;
可执行文件与源代码: &lt;a id=&quot;res_100&quot; href=&quot;http://wupei.j2megame.org/gallery/1/c_stu.rar&quot; title=&quot;学生成绩管理系统&quot;&gt;c_stu.rar&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
示意图:
&lt;/p&gt;
&lt;p&gt;
&lt;img src=&quot;http://wupei.j2megame.org/gallery/1/c_stu.png&quot; alt=&quot;学生成绩管理系统&quot; width=&quot;517&quot; height=&quot;342&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;
说明:
&lt;/p&gt;
&lt;p&gt;
这个用C语言纯写的小小程序,规模就比前面那个大了点,记得还是在学校机房的零碎时间做的,也是无聊闲得,也是为了锻炼一下C语言基础,都是看c primer plus看的,个人感觉技术含量还好,使用了结构体,使用了文件操作,函数过多,当初为了架构这个程序,自己写了满满一张纸的函数名,然后按层次排列下来.....也是第一次体会到了封装的意义,但是呢,顺序分支太多..那时候还是体会不到参数和返回值的意义...从来都是void...哈哈,自己写的状态机还是不错
&lt;/p&gt;
&lt;p&gt;
封装很重要..参数与返回值也应该合理应用... 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;color: #ffcc00&quot;&gt;三.
计算器 (普通+科学)&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/strong&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
代码:
734行&amp;nbsp;&amp;nbsp;&amp;nbsp; 语言: VB&amp;nbsp;&amp;nbsp;&amp;nbsp; 时间: 2006-5
&lt;/p&gt;
&lt;p&gt;
可执行文件与源代码: &lt;a id=&quot;res_103&quot; href=&quot;http://wupei.j2megame.org/gallery/1/c_vb_calc.rar&quot; title=&quot;VB计算器&quot;&gt;c_vb_calc.rar&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
示意图:
&lt;/p&gt;
&lt;p&gt;
&lt;img src=&quot;http://wupei.j2megame.org/gallery/1/c_vb_calc.png&quot; alt=&quot;VB计算器&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;
说明: 这同时也是自己的一个作业程序..给谁做得就不说了..比较烂...但是还是很锻炼自己了..自己的一个更大的界面程序,其中还掺杂着算术算法,算法是自己摸不透了..直接从C语言书上找来的..后来才知道..居然VB自己有自己的函数..来运算字符串表达式...这次还是锻炼了逻辑思维..需要非常缜密..出来1+1=3,是很平常的事情..这会会缩进了.是代码漂亮了不少,注释用的也比较好..那时编这个程序属于疯狂状态...最终还是在网吧完成的这个程序..网吧老板都以为我在给他们的机子在搞什么破坏...编这个程序自己都不敢去用这个程序..因为程序的BUG还是没有测试到位吧
&lt;/p&gt;
&lt;p&gt;
注释,思维逻辑,按键触发,触发事件..干嘛干嘛.. 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;color: #ffcc00&quot;&gt;四.
猜数字 &lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
代码:
355行&amp;nbsp; 语言: C++&amp;nbsp;&amp;nbsp;&amp;nbsp; 时间:2006-9
&lt;/p&gt;
&lt;p&gt;
可执行文件与源代码: &lt;a id=&quot;res_104&quot; href=&quot;http://wupei.j2megame.org/gallery/1/c_guess.rar&quot; title=&quot;C++猜数字&quot;&gt;c_guess.rar&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
示意图:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;img src=&quot;http://wupei.j2megame.org/gallery/1/c_guess.png&quot; alt=&quot;猜数字&quot; width=&quot;542&quot; height=&quot;354&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;
说明: 这个是C++老师的第一个作业,因为自己提前学了C++,做起来还是比较容易的,记得当初看C++ primer plus的时候那个痛苦...哐哐的画线...到处都是线..就是因为不太理解呗..很复杂..这会用的面向对象的思想也不是太多,一直就是基于对象的,但是输入输出这一块做得还是不错的,还有文件操作
&lt;/p&gt;
&lt;p&gt;
面向对象的思想博大精深... 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;color: #ffcc00&quot;&gt;五.
AI黑白棋&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
代码:
1485行&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;nbsp; 语言: C++&amp;nbsp;&amp;nbsp; 时间: 2006-9
&lt;/p&gt;
&lt;p&gt;
可执行文件与源代码: &lt;a id=&quot;res_107&quot; href=&quot;http://wupei.j2megame.org/gallery/1/c_bwc.rar&quot; title=&quot;AI黑白棋&quot;&gt;c_bwc.rar&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
示意图:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;img src=&quot;http://wupei.j2megame.org/gallery/1/c_bwc.png&quot; alt=&quot;AI黑白棋&quot; width=&quot;505&quot; height=&quot;330&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;
说明: 这次是黑白棋修改版本,第一个版本输出和这个不太一样,功能类似,这个看起来还是像个样子的,有人机对战,人人对战,排行榜功能,注释写的也很好,把类结构都写出来了..但是呢,这个好像把类和对象的概念给搞混了,好像把每个对象当成了单个类处理(太钻技术的后果),体会到了重用代码的作用,把前面才数字的文件直接拿来用了..(哇..当时那个兴奋,居然可以这样),不过这个出现重要重复问题,复制粘贴(类间相同代码)问题严重了....还是架构不太好,还实现了自己的AI,应该是自己的唯一的一个实现AI的游戏,大片的IF语句进行判定,既没有运用到树判定,也没有运用到游戏的随机性....这个游戏如果玩的多的话,可以按上一盘的步骤再来一次...(因为IF语句一样嘛...)
&lt;/p&gt;
&lt;p&gt;
/*&lt;br /&gt;
&amp;nbsp;* 类结构：&lt;br /&gt;
&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.char&amp;nbsp;&amp;nbsp;&amp;nbsp; che[][]--键盘的所有字符集合&lt;br /&gt;
&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; chess类(基类)-----|&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.下子&amp;nbsp;&amp;nbsp;&amp;nbsp; changeche(int x,int y,char ch)&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.显示棋盘 showche()&lt;br /&gt;
&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.取子&amp;nbsp; getche(int x,int y)&lt;br /&gt;
&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; +&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;+&lt;br /&gt;
&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;br /&gt;
&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; |&lt;br /&gt;
&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; yochess类(virtual public)&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; aichess类(virtual public)&lt;br /&gt;
&amp;nbsp;*&lt;br /&gt;
&amp;nbsp;* private:&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; bool yoche[][]:&amp;nbsp;&amp;nbsp;&amp;nbsp; your可下子的地方&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; bool aiche[][]:&amp;nbsp; AI可下子的地方&lt;br /&gt;
&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp; yonum&amp;nbsp;&amp;nbsp;&amp;nbsp; : 当前子数&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int ainum&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :&amp;nbsp;&amp;nbsp; 当前子数&lt;br /&gt;
&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; int score;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;* public:&lt;br /&gt;
&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; your输入:bool yoset(int x,int y)&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; AI输入:bool aiset(int x,int y)&lt;br /&gt;
&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; bool yoresult()&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; bool airesult()&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;*&lt;br /&gt;
&amp;nbsp;*-----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;nbsp;*-----------------------------------------------------------------------------------------&lt;br /&gt;
&amp;nbsp;*&lt;br /&gt;
&amp;nbsp;* 棋盘模式：&lt;br /&gt;
&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ai:*&amp;nbsp; your:@&lt;br /&gt;
&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 2 3 4 5 6 7 8 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &amp;quot;&amp;nbsp; 1 - - - - - - - - &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &amp;quot;&amp;nbsp; 2 - - - - - - - - &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &amp;quot;&amp;nbsp; 3 - - - - - - - - &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &amp;quot;&amp;nbsp; 4 - - - * @ - - - &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &amp;quot;&amp;nbsp; 5 - - - @ * - - - &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &amp;quot;&amp;nbsp; 6 - - - - - - - - &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &amp;quot;&amp;nbsp; 7 - - - - - - - - &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cout &amp;lt;&amp;lt; &amp;quot;&amp;nbsp; 8 - - - - - - - - &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;*&lt;br /&gt;
&amp;nbsp;*&lt;br /&gt;
&amp;nbsp;*/
&lt;/p&gt;
&lt;p&gt;
上面是自己写的注释, 呵呵..还是比较不错的...
&lt;/p&gt;
&lt;p&gt;
这时已经需要提前设计类架构了,但是面向对象思路还是比较混乱, 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;color: #ffcc00&quot;&gt;六.
象棋(未实现AI版本)&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
代码:
2192行&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 语言: C++&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 时间:  2006-11
&lt;/p&gt;
&lt;p&gt;
可执行文件与源代码: &lt;a id=&quot;res_109&quot; href=&quot;http://wupei.j2megame.org/gallery/1/c_chinachess.rar&quot; title=&quot;中国象棋&quot;&gt;c_chinachess.rar&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
示意图:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;img src=&quot;http://wupei.j2megame.org/gallery/1/c_chinachess.png&quot; alt=&quot;中国象棋&quot; width=&quot;500&quot; height=&quot;554&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;
说明: 仍旧是C++程序设计作业,这个程序可是超级费劲了,有了黑白棋的基础应该差不多了吧,但是这个象棋的算法,实在是太复杂了...各种棋子的走的方式都不行,也要判断失败走法...各种类掺和到一起..致使自己不得不类似于UML图的形式表现出类框架,虽然框架设计出来还是比较烂的..但是总比没有要强..这点还是做得比较好的,还使用了有名常量进行定义,还是有大片代码重复情况...复制粘贴..带来了调试的极大问题,这个程序也未实现AI,实在想不出..AI怎么设计...(跟象棋水平有直接关系)
&lt;/p&gt;
&lt;p&gt;
&lt;img src=&quot;http://wupei.j2megame.org/gallery/1/c_chinachess_class.jpg&quot; alt=&quot;类架构&quot; width=&quot;457&quot; height=&quot;366&quot; /&gt; 
&lt;/p&gt;
&lt;p&gt;
这次已经出现上了架构上的我问题了..由于东西太多,代码相对复杂一些,弩架不住了..经过向老师的询问..诶..知道了,出现了一个&amp;quot;设计模式&amp;quot;的名词
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;color: #ffcc00&quot;&gt;七.
一条龙游戏、数字拼图&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
语言: C++ &amp;nbsp; 日期: 2006年11月25日－26日
&lt;/p&gt;
&lt;p&gt;
&amp;quot;数字拼图&amp;quot;可执行文件与源代码: 
&lt;a id=&quot;res_112&quot; href=&quot;http://wupei.j2megame.org/gallery/1/c_shuzi.rar&quot; title=&quot;数字拼图&quot;&gt;c_shuzi.rar&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;quot;一条龙&amp;quot;可执行文件与源代码: 
&lt;a id=&quot;res_113&quot; href=&quot;http://wupei.j2megame.org/gallery/1/c_long.rar&quot; title=&quot;一条龙游戏&quot;&gt;c_long.rar&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
示意图:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;img src=&quot;http://wupei.j2megame.org/gallery/1/c_shuzi.png&quot; width=&quot;462&quot; height=&quot;302&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;
说明: 一共有7个程序小作业,那时我好像在2天之内就完成了..有一天都编疯啦,从下午1点编到晚上11点熄灯..都没吃饭...呵呵.疯狂..不知道哪来的劲头,感觉还是很过瘾的,这个数字拼图游戏个人感觉很有创意的,因为看似是直接响应按键的,其实还是跟以前一下,只不过按键不缓存了,跟真实的界面程序表现上是一致的,这个程序的内部数据结构也很巧,全部是指针,指来指去的...每按一次,就切换一次,很酷...但是这个游戏至今我自己还没通关过...不会玩
&lt;/p&gt;
&lt;p&gt;
现在又归回到了表现层,是直接提升程序品质的东西,界面友好也需要良好体现 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;color: #ffcc00&quot;&gt;八. 黑白棋 &lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;color: #ffcc00&quot;&gt;九. 黑白棋2.0&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
语言: J2ME &amp;nbsp; 日期: 2006-12-22
&lt;/p&gt;
可执行文件和源代码见这里: &lt;a href=&quot;http://www.j2megame.org/index.php/component/option-com_docman/task-doc_details/gid-103/Itemid-117.html&quot; target=&quot;_blank&quot; title=&quot;黑白棋&quot;&gt;打开&lt;/a&gt;&lt;br /&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
示意图:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&lt;img src=&quot;http://www.j2megame.org/images/stories/jar/blackwhitechess.png&quot; width=&quot;240&quot; height=&quot;310&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;
说明: 当时这个程序速度还算惊人,是大二的时候实习前提交的作品,一开始还是不会JAVA,用3天的时间学了学JAVA,就上手编写这个J2ME程序,然后就近公司实习了..呵呵..还是挺诡异的..这个移植方面做的还好..具体算法是使用了前面C++时用的算法,直接就拿过来用了..又是面向对象的好处 
&lt;/p&gt;
&lt;p&gt;
移动终端啊..屏幕移植当初是涉及到的第一个问题..幸好这个程序是自适应的..呵呵 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;color: #ffcc00&quot;&gt;十. 计算器普通&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
语言: VC&amp;nbsp; 日期: 2007-3-14
&lt;/p&gt;
说明: 这个程序没什么可说的,就是普通型,主要是熟悉MFC的框架,和按键响应,这个技术含量就很低了..&lt;br /&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;color: #ffcc00&quot;&gt;十一. 轧辊管理程序(数据库应用) &lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
代码: 3200行&amp;nbsp;&amp;nbsp;&amp;nbsp; 语言: VC + Access&amp;nbsp; 时间: 2007-5-5 
&lt;/p&gt;
&lt;p&gt;
可执行文件与源代码: &lt;a id=&quot;res_115&quot; href=&quot;http://wupei.j2megame.org/gallery/1/c_zhagun.rar&quot;&gt;c_zhagun.rar&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
示意图:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&lt;img src=&quot;http://wupei.j2megame.org/gallery/1/c_zhagun.png&quot; alt=&quot;轧辊示意图&quot; width=&quot;576&quot; height=&quot;358&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;
说明: 这个是为父亲厂子编写的一个管理系统,就是简单Access数据库的增删改查的操作,20个小时的连续编程是一个很爽的事情..主要就是用C++连接数据库,然后提供增删改查的操作,一共就两张表,一张是主表,一张是附表,逻辑上是嵌套的关系...这个其实挺锻炼人的..也是当时自己写的最长的程序,不过复制粘贴现象更加严重了...好多重复的代码...一开始设计的也不是很好..好像就没有设计..像MFC程序不知道怎么设置类体系..因为他本身,我觉得就挺乱的..
&lt;/p&gt;
&lt;p&gt;
第一个数据库程序..但是写起来真是挺费劲的...这种程序还是不用VC来写比较好...会更快一些
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;color: #ffcc00&quot;&gt;十二. 简易聊天室&amp;nbsp; (socket编程)&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
语言: C++&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
服务器端和客户端可执行文件与源代码: &lt;a id=&quot;res_117&quot; href=&quot;http://wupei.j2megame.org/gallery/1/c_talk.rar&quot; title=&quot;简易聊天室&quot;&gt;c_talk.rar&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
示意图:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&lt;img src=&quot;http://wupei.j2megame.org/gallery/1/c_talk.png&quot; width=&quot;584&quot; height=&quot;328&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;
说明: 这个是VC课程的期末大作业,完成了非阻塞形式的socket的聊天室,这个聊天室实现了最初QQ的功能,类似于以前的网页聊天,是基于明码信息编号的形式来传递信息,每条信息都需要经服务器端进行消息的转发(早期QQ),能私聊,公聊,踢人等功能,感觉上,还算是比较强大的,但是容错性较差,如果出现什么意外情况,如断网...不知会怎么样...理论上局域网是可以使用的,需要服务器开启,服务器现在是信息的分发者与当前用户的管理者,第一开始其实服务器端和客户端比较模糊,到最后就成了,服务器端也可以聊天的诡异事情...
&lt;/p&gt;
&lt;p&gt;
基于网络的应用还是不好编啊..动不动的非法关闭了...痛苦..准备实现J2ME网络应用程序 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;color: #ffcc00&quot;&gt;十三. 截屏程序&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
平台: VC&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;nbsp; 代码: 1200行左右&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
说明: 暂时这个就不能公布代码了..因为已经发布了..也已经更新了好多个版本,功能和应用上还比较好点了
&lt;/p&gt;
&lt;p&gt;
具体可以见这里: &lt;a href=&quot;http://wupei.j2megame.org/blog.php/myblog/myworks/2007/07/22/mycatchscreen&quot;&gt;MyCatchScreen绿色截屏程序1.7.1 (最后更新:08年6月22日)&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;color: #ffcc00&quot;&gt;十四. J2ME坦克大战&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
代码: 7700行&amp;nbsp;&amp;nbsp;&amp;nbsp; 平台: J2ME&amp;nbsp; 时间: 2007-10-8 历时1个月 
&lt;/p&gt;
&lt;p&gt;
示意图:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&lt;img src=&quot;http://www.j2megame.org/images/stories/jar/battlecity.png&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;
说明: 这个也是真正就职前的一个程序,虽然商业发布,但也没赚到多少钱..但是总归是第一个拿的出手的游戏,虽然没有一点创新,呵呵,完全模拟是完全的达到了
&lt;/p&gt;
&lt;p&gt;
具体信息可以看这里:
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://wupei.j2megame.org/blog.php/myblog/myworks/2007/09/10/j2me-work-battle-city&quot;&gt;坦克大战手机版J2ME实现(创游杯参赛作品 - 未果...)(最后更新: 08年5月22日 - 支持诺基亚手机)&lt;/a&gt;&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;color: #ffcc00&quot;&gt;十五. Tiny语言词法、语法分析器展示&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
示意图:
&lt;/p&gt;
&lt;p&gt;
&lt;img src=&quot;http://wupei.j2megame.org/gallery/1/tiny_2.png&quot; width=&quot;505&quot; height=&quot;365&quot; /&gt; 
&lt;/p&gt;
&lt;p&gt;
具体信息可参见:&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://wupei.j2megame.org/blog.php/myblog/myworks/2007/12/26/mfc-tiny-compiler&quot; target=&quot;_blank&quot;&gt;http://wupei.j2megame.org/blog.php/myblog/myworks/2007/12/26/mfc-tiny-compiler&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
说明:这个还是比较酷的,是学习编译原理的期末大作业,自己琢磨了好久,写了好递归算法,进行词法与语法分析,然后展示的效果还不错,使用了一个开源的代码,是树状控件,表达成了这样,看起来更加语法树的构成了,这个的编写,很考验对于数据结构的应用,这会实现了把树型结构的指针,挺复杂的....自己还做了一个精湛的PPT,但是老师最终也没让我讲..伤心了..(还跟我说让我讲,白让我那么费劲做了...)
&lt;/p&gt;
&lt;p&gt;
数据结构也很重要,尤其是复杂的数据结构,需要进一步了解的 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;
&lt;strong&gt;&lt;span style=&quot;color: #ffcc00&quot;&gt;十六. 校内扩展API应用&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;p&gt;
说明: 小小的google map的应用,因为好友的信息交流次数过多,访问几次就把自己的空间拖垮了,就500错误了..可悲..也没优化过..就是简单了编了一下,运用了php javascript html混合编程..那就更加痛苦了..3层嵌套进去,一层一层的套进去,可想复杂程度...自己还不太像往网站方向发展,就当乐趣,偶尔编一下了..呵呵
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;color: #ffcc00&quot;&gt;十七. J2ME手机游戏开发网和个人博客 &lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
说明: 这两个现在都还好..前者现在排名还是比较靠前的..访问量还好..叫他慢慢的聚集人气吧..主要还是自己的个人站点,服务自己,也服务他人,这就是原则啦,虽然自己不善于网站方面的编码(但我会改!哈哈),只用框架而已,但还可以认识朋友,好多好多好处,呵呵,偶尔写一个技术文章也挺好
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;
&lt;p&gt;
OK了..终于总结完了..好累..看现在已经凌晨1点了,从晚上9点写到现在...
&lt;/p&gt;
&lt;p&gt;
回头看一下大学,还是蛮丰富多彩的..呵呵,成就感的...
&lt;/p&gt;
&lt;p&gt;
就这吧.. 
&lt;/p&gt;</dc:description>
      
    <dc:subject>我的作品</dc:subject>
     
    
  <dc:date>2008-12-21T20:25:04Z</dc:date>
    <dc:creator>wupei</dc:creator>
 </item>
  <item rdf:about="http://wupei.j2megame.org/blog.php/myblog/j2me/2008/06/15/antenna-jad-manifest">
  <title>Antenna生成JAD和MANIFEST.MF中文乱码一种解决方法(UTF-8)</title>
  <link>http://wupei.j2megame.org/blog.php/myblog/j2me/2008/06/15/antenna-jad-manifest</link>
  <dc:description>&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://wupei.j2megame.org/plugins/plogeshi/styles/plogeshi.css&quot; /&gt;&lt;p&gt;
&lt;span style=&quot;color: #ffcc00;text-decoration:underline&quot;&gt;注意: 本文章针对antenna-src-1.0.2.zip, 请查看antenna是否有最新版本&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
最近配置Antenna成功了,也可以正常使用了
&lt;/p&gt;
&lt;p&gt;
但是在给真正的J2ME游戏打包时,就发现问题了,如果让 &lt;span style=&quot;color: #ffcc00&quot;&gt;MIDlet-Name&lt;/span&gt; 使用中文的话,就会生成JAD乱码...
&lt;/p&gt;
&lt;p&gt;
查过文档以后,发现生成JAD时可以使用 &lt;span style=&quot;color: #ffcc00&quot;&gt;encoding&lt;/span&gt; 属性, OK, 添加上 &lt;span style=&quot;color: #ffcc00&quot;&gt;encoding=&amp;quot;UTF-8&amp;quot;&lt;/span&gt; ,打包....依然有问题...生成的 JAD 依然不是 UTF-8 格式
&lt;/p&gt;
&lt;p&gt;
然后没有办法,只有查看 Antenna 源代码了.. 下载 Antenna的src&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://sourceforge.net/project/showfiles.php?group_id=67420&quot; target=&quot;_blank&quot;&gt;http://sourceforge.net/project/showfiles.php?group_id=67420&lt;/a&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://wupei.j2megame.org/plugins/plogeshi/styles/plogeshi.css&quot; /&gt;&lt;/p&gt;
&lt;p&gt;
看一下源代码,OK,关系到乱码的3个Java文件
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;color: #ffcc00&quot;&gt;de.pleumann.antenna.misc.JadFile.java&lt;/span&gt;&amp;nbsp; A simple class to access the contents of a JAD file(就是保存JAD文件内容的封装类,而且MANIFEST.MF文件也用这个生成的) -- &lt;span style=&quot;color: #ff0000&quot;&gt;这个文件没有问题,参数也都是有的&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;color: #ffcc00&quot;&gt;de.pleumann.antenna.WtkJad.java&lt;/span&gt; (是生成JAD的类封装,与wtkjad的XML的命令相对应) -- &lt;span style=&quot;color: #ff0000&quot;&gt;这个文件也是OK的,参数都使用了 encoding &lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;color: #ffcc00&quot;&gt;de.pleumann.antenna.WtkPackage&lt;/span&gt; (是打包的类封装,与wtkpackage的XML的命令相对应) -- &lt;span style=&quot;color: #ff0000&quot;&gt;这个文件大有问题,因为传的参 encoding 都是 null&amp;nbsp;&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
说明: execute() 函数,为后两个类的的执行函数&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
恩,找到问题了,就好解决了,开始修改吧, 把类似以下语句都修改了
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;div class=&quot;code&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;ol&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;jad.&lt;span class=&quot;me1&quot;&gt;load&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;jadFile.&lt;span class=&quot;me1&quot;&gt;getAbsolutePath&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;, &lt;span class=&quot;kw2&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;; &lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;co1&quot;&gt;//或&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;man.&lt;span class=&quot;me1&quot;&gt;save&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;manFile, &lt;span class=&quot;kw2&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
修改为:
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;div class=&quot;code&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;ol&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;jad.&lt;span class=&quot;me1&quot;&gt;load&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;jadFile.&lt;span class=&quot;me1&quot;&gt;getAbsolutePath&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;, &lt;span class=&quot;st0&quot;&gt;&amp;quot;UTF-8&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;; &lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;co1&quot;&gt;//或&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;man.&lt;span class=&quot;me1&quot;&gt;save&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;manFile, &lt;span class=&quot;st0&quot;&gt;&amp;quot;UTF-8&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
这样存取都为UTF-8格式了&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
恩,可以了,关闭eclipse,重新编译打包,覆盖原来添加到Eclipse中的 antenna-bin-1.0.2.jar ,恩,呵呵,这就是你自己的 antenna 版本
&lt;/p&gt;
&lt;p&gt;
重新打开eclipse,重新执行,执行后发现,JAD没问题了,但是.....&lt;span style=&quot;color: #ffcc00&quot;&gt;MANIFEST.MF&lt;/span&gt;从JAR拿出来后,用记事本观看...还是乱码....
&lt;/p&gt;
&lt;p&gt;
经过我的检测(其实就是把.MF存出来),发现 MANIFEST.MF 其实是没问题的,UTF-8没问题,也不乱码,但是经过 &lt;span style=&quot;color: #ffcc00&quot;&gt;Ant&lt;/span&gt; 中的 &lt;span style=&quot;color: #ffcc00&quot;&gt;打包函数&lt;/span&gt; 后, 加入到JAR包中,UTF-8格式没变,但是中文内容乱码了.....
&lt;/p&gt;
&lt;p&gt;
在Antenna的src中的语句为: 
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;div class=&quot;code&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;ol&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;super&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;execute&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
就是这句造成了乱码,因为是 Ant 1.7.0 运行库中的东西....我没有能力修改...&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
传说好像是 Ant 的 BUG.... 
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;color: #ffcc00&quot;&gt;6月15日更新:&lt;/span&gt; MANIFEST.MF中文乱码完美解决了!    添加  &lt;span style=&quot;color: #ffcc00&quot;&gt;wtkpackage&lt;/span&gt; 字段  &lt;span style=&quot;color: #ffcc00&quot;&gt;keepManifestOrder=&quot;true&quot;&lt;/span&gt; 就OK,很简单吧...
&lt;/p&gt;
&lt;p&gt;
查看一下Antenna源代码,才知道,实际上,运行 keepManifestOrder 语句之前, Ant 已经把 MF 文件打到 JAR 包中了&lt;span style=&quot;color: #ffcc00&quot;&gt;(这一MF是乱码状态)&lt;/span&gt;,而这一语句,使刚才生成的 MF 文件,&lt;span style=&quot;color: #ffcc00&quot;&gt;重新写入 JAR&lt;/span&gt; (这一个是Antenna实现的),所以就不乱码咯,哈哈,但是有一个tmp目录没有清空,这是因为 manF流 没有关闭的原因,这个没啥关系的,修改一下代码,见最后&lt;br /&gt;
注: 看了代码才知道,可以这样更新 MF 文件啊,哈哈,强大!
&lt;/p&gt;
&lt;p&gt;
来看一下修改的XML片段:
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;div class=&quot;code&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;ol&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;wtkpackage&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;jarfile&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${dir.output.deployed}\${jar.filename}.jar&amp;quot;&lt;/span&gt; &lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;re0&quot;&gt;jadfile&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${dir.output.deployed}\${jad.filename}.jad&amp;quot;&lt;/span&gt; &lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;re0&quot;&gt;obfuscate&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${wtk.obfuscate}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;preverify&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;true&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;re0&quot;&gt;classpath&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${dir.classpath}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;keepManifestOrder&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;fileset&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;dir&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${dir.output.classes}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/wtkpackage&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
以下说的皆是P话.....但是为了保留思路,大家可以考虑一下哦...就当是思路拓展了,呵呵
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;color: #ffcc00&quot;&gt;---------------------------------------以下已删除-------------------------------------------&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
没办法,只能另寻途径,一开始想直接用JAR命令,直接更新 MANIFEST.MF ,但是我最终未实验成功....(或许你会成功...因为我还没学会呢...) 
&lt;/p&gt;
&lt;p&gt;
 &lt;span style=&quot;color: #ffcc00&quot;&gt;注意:&lt;/span&gt; 本方法使用以后JAD的 &lt;span style=&quot;color: #ffcc00&quot;&gt;MIDlet-Jar-Size 字段&lt;/span&gt;,就不正确了....待解决
&lt;/p&gt;
&lt;p&gt;
我用了一种办法,是使用 &lt;span style=&quot;color: #ffcc00&quot;&gt;WinRAR 中的命令行&lt;/span&gt;,进行 MANIFEST.MF 的替换
&lt;/p&gt;
&lt;p&gt;
1. 修改 &lt;span style=&quot;color: #ffcc00&quot;&gt;de.pleumann.antenna.WtkPackage&lt;/span&gt; 文件,使得其在运行过程中导出(存储)一个 MANIFEST.MF
&lt;/p&gt;
&lt;p&gt;
在execute()函数末尾添加语句: &amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;div class=&quot;code&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;ol&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;final&lt;/span&gt; &lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3AString+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;String&lt;/span&gt;&lt;/a&gt; myMf = &lt;span class=&quot;st0&quot;&gt;&amp;quot;build/MANIFEST.MF&amp;quot;&lt;/span&gt;; &lt;span class=&quot;co1&quot;&gt;//存到你喜欢的位置&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;try&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; man.&lt;span class=&quot;me1&quot;&gt;save&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;myMf, &lt;span class=&quot;st0&quot;&gt;&amp;quot;UTF-8&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3ASystem+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;System&lt;/span&gt;&lt;/a&gt;.&lt;span class=&quot;me1&quot;&gt;out&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;myMf: build/MANIFEST.MF create.&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;catch&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3AIOException+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;IOException&lt;/span&gt;&lt;/a&gt; e&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3ASystem+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;System&lt;/span&gt;&lt;/a&gt;.&lt;span class=&quot;me1&quot;&gt;out&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;build/MANIFEST.MF create error.&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
我存储到了 Build 文件夹下,这样就可以使用 WINRAR 将其打包到 JAR 中
&lt;/p&gt;
&lt;p&gt;
修改相应的XML文件(前一篇文章有相关的XML):
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;div class=&quot;code&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;ol&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;coMULTI&quot;&gt;&amp;lt;!-- 因为命令行不支持带空格的命令,所以如果WINRAR路径中有空格,要加引号 --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;winrar.home&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;C:\Program\WinRAR&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;coMULTI&quot;&gt;&amp;lt;!-- 用winrar 更新 MF 文件 --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;exec&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;dir&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${dir.output}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;executable&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;cmd.exe&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;os&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;Windows XP&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;arg&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;line&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;/c ${winrar.home}\WinRAR.exe A -apMETA-INF ${dir.output.deployed}\${jar.filename}.jar MANIFEST.MF&amp;quot;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/exec&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
当然这种办法,连我都不是很喜欢....但是我没办法...这个也不具有通用性...如果你知道更方便,更通用的方法,告诉我一声啊,谢了
&lt;/p&gt;
&lt;p&gt;
将WINRAR的注释去掉即可....记得修改你生成 &lt;strong&gt;&lt;span style=&quot;color: #ffcc00&quot;&gt;MANIFEST.MF&lt;/span&gt;&lt;/strong&gt; 路径
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;color: #ffcc00&quot;&gt;---------------------------------------以上已删除---------------------------------------&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
这样就OK了,哈哈,终于完美解决乱码问题啦.....可以继续自己的工作了
&lt;/p&gt;
&lt;p&gt;
XML文件的文章:&amp;nbsp; &lt;a href=&quot;http://wupei.j2megame.org/blog.php/myblog/j2me/2008/06/14/j2me-antenna&quot; target=&quot;_blank&quot;&gt;《Eclipse与Antenna整合开发J2ME程序》&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
关于tmp文件夹没有删除的小BUG的代码修改:
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;div class=&quot;code&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;ol&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;co1&quot;&gt;//de.pleumann.antenna.WtkPackage.java文件&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;co1&quot;&gt;//void addManifest(File tmpDir, File manFile)函数&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;co1&quot;&gt;//(大约在325行)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;manF.&lt;span class=&quot;me1&quot;&gt;close&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;; &lt;span class=&quot;co1&quot;&gt;//添加&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;jos.&lt;span class=&quot;me1&quot;&gt;flush&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;jos.&lt;span class=&quot;me1&quot;&gt;close&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;utility.&lt;span class=&quot;me1&quot;&gt;delete&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;jarFile&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;utility.&lt;span class=&quot;me1&quot;&gt;copy&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;tmp, jarFile&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;</dc:description>
      
    <dc:subject>J2ME</dc:subject>
     
    
  <dc:date>2008-06-15T14:58:40Z</dc:date>
    <dc:creator>wupei</dc:creator>
 </item>
  <item rdf:about="http://wupei.j2megame.org/blog.php/myblog/j2me/2008/06/15/j2me-antenna">
  <title>Eclipse与Antenna整合开发J2ME程序</title>
  <link>http://wupei.j2megame.org/blog.php/myblog/j2me/2008/06/15/j2me-antenna</link>
  <dc:description>&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://wupei.j2megame.org/plugins/plogeshi/styles/plogeshi.css&quot; /&gt;&lt;p&gt;
最近一直在寻找一种简单的方式来给J2ME程序打包,包括预处理,生成JAD,JAR的一系列自动化处理
&lt;/p&gt;
&lt;p&gt;
Antenna就可以实现这一系列功能,个人觉得比polish相对要简单一些,也傻瓜一些,可以说是专门为j2me开发的一套ant的扩展
&lt;/p&gt;
&lt;p&gt;
Antenna官方下载: &lt;a href=&quot;http://sourceforge.net/project/showfiles.php?group_id=67420&quot; target=&quot;_blank&quot;&gt;http://sourceforge.net/project/showfiles.php?group_id=67420&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Antenna文档首页: &lt;a href=&quot;http://antenna.sourceforge.net/&quot; target=&quot;_blank&quot;&gt;http://antenna.sourceforge.net/&lt;/a&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://wupei.j2megame.org/plugins/plogeshi/styles/plogeshi.css&quot; /&gt;&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;color: #ffcc00&quot;&gt;写下本文时的,相关程序的版本:&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
Eclipse 3.3.2 + EclipseMe 1.7.7 + antenna 1.0.2&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;color: #ffcc00&quot;&gt;下面就开始配置:&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
1. 下载: 
&lt;/p&gt;
&lt;p&gt;
去下载首页,下载 &lt;span style=&quot;color: #ffcc00&quot;&gt;antenna-bin-1.0.2.jar&lt;/span&gt; (Antenna的执行包)
&lt;/p&gt;
&lt;p&gt;
2. 安装:
&lt;/p&gt;
&lt;p&gt;
Eclipse 3.3 本身就自带了Ant 1.7版本,所以Ant就不必下了,把那个JAR包,添加过来就可以了&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
打开eclipse
&lt;/p&gt;
&lt;p&gt;
菜单 Window -&amp;gt;&amp;nbsp; Preferences -&amp;gt; Ant -&amp;gt; Runtime -&amp;gt; Classpath -&amp;gt; Ant home Entries
&lt;/p&gt;
&lt;p&gt;
随便选择一个JAR包,然后点击右边的 Add External JARs, 将下载的包,加入到Eclipse库中
&lt;/p&gt;
&lt;p&gt;
这样就可以了,不必安装什么插件什么的
&lt;/p&gt;
&lt;p&gt;
3. 添加 build.xml&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
也不用在工程项目点击邮件,自动生成XML,这样我个人认为也不好用
&lt;/p&gt;
&lt;p&gt;
OK,自己书写一个XML就可以了
&lt;/p&gt;
&lt;p&gt;
我的一个示例&lt;span style=&quot;color: #ffcc00&quot;&gt;(需要存储为UTF-8格式文件)&lt;/span&gt; (6月15日更新):
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;div class=&quot;code&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;ol&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;?xml&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;version&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;1.0&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;encoding&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;UTF-8&amp;quot;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;project&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;brick&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;default&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;build&amp;quot;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;taskdef&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;resource&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;antenna.properties&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;target&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;init&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;description&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;变量定义&amp;quot;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;echo&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;message&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;Define variable&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;coMULTI&quot;&gt;&amp;lt;!-- 机型 --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;mobile.vendor&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;Nokia/7610&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;coMULTI&quot;&gt;&amp;lt;!-- JAD与JAR --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;jad.filename&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;brick&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;jad.midlet-name&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;brick&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;jad.midlet-vender&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;wp&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;jad.midlet-version&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;1.0.0&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;jad.midlet-class&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;brick.BrickMidlet&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;jad.midlet-icon&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;/icon.png&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;coMULTI&quot;&gt;&amp;lt;!-- WTK参数 --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;wtk.cldc.version&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;1.0&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;wtk.midp.version&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;2.0&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;wtk.obfuscate&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;true&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;wtk.debug&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;false&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;jad.manifast.version&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;1.0&amp;quot;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;coMULTI&quot;&gt;&amp;lt;!-- 预处理信息显示 --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;mobile.show&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;false&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;dist.show&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;false&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;coMULTI&quot;&gt;&amp;lt;!-- 系统参数 --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;basedir&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;.&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;wtk.home&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;D:\WTK2.5.1&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;wtk.proguard.home&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;D:\proguard4.2&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;coMULTI&quot;&gt;&amp;lt;!-- 不被修改的参数 --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;jar.filename&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${jad.filename}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;coMULTI&quot;&gt;&amp;lt;!-- 目录定义 --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;dir.src&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${basedir}\src&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;dir.res&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${basedir}\res&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;dir.output&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${basedir}\build&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;dir.output.dist&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${dir.output}\dist&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;dir.output.classes&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${dir.output}\classes&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;dir.output.deployed&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${dir.output}\deployed&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/target&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;target&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;clean&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;depends&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;init&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;description&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;初始化环境&amp;quot;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;echo&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;message&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;Clean dir&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;delete&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;dir&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${dir.output}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/target&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;target&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;preprocess&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;depends&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;init,clean&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;description&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;预处理&amp;quot;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;echo&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;message&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;preprocess&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;mkdir&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;dir&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${dir.output.dist}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;wtkpreprocess&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;srcdir&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${dir.src}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;destdir&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${dir.output.dist}&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;re0&quot;&gt;device&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${mobile.vendor}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;verbose&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${mobile.show}&amp;quot;&lt;/span&gt; &amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;re0&quot;&gt;printsymbols&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${dist.show}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/target&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;target&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;compile&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;depends&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;preprocess&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;description&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;编译&amp;quot;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;echo&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;message&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;Starting compile&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;mkdir&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;dir&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${dir.output.classes}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;echo&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;build from all the ${dir.src} to ${dir.output.classes}&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/echo&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;wtkbuild&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;srcdir&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${dir.output.dist}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;destdir&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${dir.output.classes}&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;re0&quot;&gt;debug&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${wtk.debug}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/wtkbuild&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/target&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;target&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;build&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;depends&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;compile&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;description&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;生成&amp;quot;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;echo&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;message&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;Packaging library&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;copy&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;todir&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${dir.output.classes}&amp;quot;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;fileset&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;dir&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${dir.res}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/copy&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;mkdir&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;dir&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${dir.output.deployed}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;coMULTI&quot;&gt;&amp;lt;!-- 执行自己修改的wtkjad --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;wtkjad&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;jadfile&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${dir.output.deployed}\${jad.filename}.jad&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${jad.midlet-name}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;vendor&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${jad.midlet-vender}&amp;quot;&lt;/span&gt; &lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;re0&quot;&gt;version&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${jad.midlet-version}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;encoding&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;UTF-8&amp;quot;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;midlet&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${jad.midlet-class}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;icon&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${jad.midlet-icon}&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;re0&quot;&gt;class&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${jad.midlet-class}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;attribute&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;MIDlet-Icon&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${jad.midlet-icon}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;attribute&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;MicroEdition-Configuration&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;CLDC-${wtk.cldc.version}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;attribute&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;MicroEdition-Profile&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;MIDP-${wtk.midp.version}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;attribute&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;Manifest-Version&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${jad.manifast.version}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/wtkjad&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;coMULTI&quot;&gt;&amp;lt;!-- 执行自己修改的wtkpackage --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;wtkpackage&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;jarfile&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${dir.output.deployed}\${jar.filename}.jar&amp;quot;&lt;/span&gt; &lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;re0&quot;&gt;jadfile&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${dir.output.deployed}\${jad.filename}.jad&amp;quot;&lt;/span&gt; &lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;re0&quot;&gt;obfuscate&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${wtk.obfuscate}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;preverify&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;true&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;re0&quot;&gt;keepManifestOrder&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;fileset&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;dir&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${dir.output.classes}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/wtkpackage&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;coMULTI&quot;&gt;&amp;lt;!-- 用winrar 更新 MF 文件 本块已经无作用,请参考本博客关于Antenna乱码的文章&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;coMULTI&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;exec dir=&amp;quot;${dir.output}&amp;quot; executable=&amp;quot;cmd.exe&amp;quot; os=&amp;quot;Windows XP&amp;quot; &amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;arg&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;line&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;/c ${winrar.home}\WinRAR.exe A -apMETA-INF ${dir.output.deployed}\${jar.filename}.jar MANIFEST.MF&amp;quot;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/exec&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; --&amp;gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/target&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;coMULTI&quot;&gt;&amp;lt;!--下面可以根据需要，可以增加run task&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;coMULTI&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;target name=&amp;quot;run&amp;quot; depends=&amp;quot;build&amp;quot;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;wtkrun&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;jadfile&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${dir.output}/${jad.filename}.jad&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;re0&quot;&gt;device&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;DefaultColorPhone&amp;quot;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;wait&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;true&amp;quot;&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/wtkrun&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/target&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; --&amp;gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/project&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;color: #ffcc00&quot;&gt;说明:&lt;/span&gt; 
&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;
	直接把这个文件存为 Build.xml,放在工程的根目录上,eclipse的工程目录刷新一下,就OK了&amp;nbsp;
	&lt;/li&gt;
	&lt;li&gt;
	记得自己更改自己的WTK和Proguard路径,还有一些其他的JAD属性和Midlet属性&amp;nbsp;
	&lt;/li&gt;
	&lt;li&gt;
	还有就是当前这个版本,是不支持JAD和MANIFEST.MF&lt;span style=&quot;color: #ffcc00&quot;&gt;中文名字&lt;/span&gt;的,也就是暂时不支持UTF-8格式,就会造成&lt;span style=&quot;color: #ffcc00&quot;&gt;中文乱码&lt;/span&gt;,是因为Antenna包的问题, 我认为是BUG,但是看到官方说明上,也已经提醒了,以后会支持UTF-8格式,我个人已经发现这个问题的一个解决方法,可以看一下这篇文章 &lt;a href=&quot;http://wupei.j2megame.org/blog.php/myblog/j2me/2008/06/14/antenna-jad-manifest&quot; target=&quot;_blank&quot;&gt;《Antenna生成JAD和MANIFEST.MF中文乱码一种解决方法(UTF-8)》&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
4. 添加预处理 
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;div class=&quot;code&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;ol&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;co1&quot;&gt;//#ifdef Nokia/7610&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;co1&quot;&gt;//# System.out.println(&amp;quot;如果是7610机型,会自动生成&amp;quot;);&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;co1&quot;&gt;//#else&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=allinurl%3ASystem+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;System&lt;/span&gt;&lt;/a&gt;.&lt;span class=&quot;me1&quot;&gt;out&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;不是7610机型,自动屏蔽&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;co1&quot;&gt;//#endif&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;
&lt;p&gt;
&lt;p&gt;
预处理以后,会&lt;span style=&quot;color: #ffcc00&quot;&gt;自动处理&lt;/span&gt;,很方便吧,以后移植起来就很方便了,而且还支持XML的参数,也可以控制J2ME程序不同版本,相当的强大!更多的预处理功能,参考官方文档就可以了
&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;
6. 运行
&lt;/p&gt;
&lt;p&gt;
在左边的工程区,找到Build.xml,右键 Ant Build, OK, 运行完毕,生成
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;color: #ffcc00&quot;&gt;5. 我写的XML,生成目录结构&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
-工程目录&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; -bin&lt;br /&gt;
&amp;nbsp; &amp;nbsp; -src&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; -res&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; -build (Antenna打包路径)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -classes (存放class文件和资源文件)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -deployed (生成的jad和jar文件)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -dest (预编译后,生成的java文件)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; -deployed
&lt;/p&gt;
&lt;p&gt;
参考文章: &lt;a href=&quot;http://www.javaeye.com/topic/117568&quot; target=&quot;_blank&quot;&gt;《Antenna与j2me打包》&lt;/a&gt;
&lt;/p&gt;</dc:description>
      
    <dc:subject>J2ME</dc:subject>
     
    
  <dc:date>2008-06-15T14:12:35Z</dc:date>
    <dc:creator>wupei</dc:creator>
 </item>
  <item rdf:about="http://wupei.j2megame.org/blog.php/myblog/webdev/2008/06/02/utf-unicode-bom">
  <title>谈谈Unicode编码，简要解释UCS、UTF、BMP、BOM等名词</title>
  <link>http://wupei.j2megame.org/blog.php/myblog/webdev/2008/06/02/utf-unicode-bom</link>
  <dc:description>&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://wupei.j2megame.org/plugins/plogeshi/styles/plogeshi.css&quot; /&gt;&lt;span&gt;
&lt;p&gt;
转自: &lt;a href=&quot;http://blog.csdn.net/fmddlmyy/&quot; target=&quot;_blank&quot;&gt;http://blog.csdn.net/fmddlmyy/&lt;/a&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念，增进知识，类似于打RPG游戏的升级。整理这篇文章的动机是两个问题：&lt;/span&gt;
&lt;/p&gt;
&lt;dl&gt;&lt;dt&gt;&lt;span&gt;问题一： &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;
&lt;p&gt;
&lt;span&gt;使用Windows记事本的&amp;ldquo;另存为&amp;rdquo;，可以在GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换。同样是txt文件，Windows是怎样识别编码方式的呢？&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;我
很早前就发现Unicode、Unicode big
endian和UTF-8编码的txt文件的开头会多出几个字节，分别是FF、FE（Unicode）,FE、FF（Unicode big
endian）,EF、BB、BF（UTF-8）。但这些标记是基于什么标准呢？&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://wupei.j2megame.org/plugins/plogeshi/styles/plogeshi.css&quot; /&gt;&lt;/p&gt;
&lt;/dd&gt;&lt;dt&gt;&lt;span&gt;问题二： &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;span&gt;最
近在网上看到一个ConvertUTF.c，实现了UTF-32、UTF-16和UTF-8这三种编码方式的相互转换。对于Unicode(UCS2)、
GBK、UTF-8这些编码方式，我原来就了解。但这个程序让我有些糊涂，想不起来UTF-16和UCS2有什么关系。 &lt;/span&gt;&lt;/dd&gt;&lt;/dl&gt;
&lt;p&gt;
&lt;span&gt;查了查相关资料，总算将这些问题弄清楚了，顺带也了解了一些Unicode的细节。写成一篇文章，送给有过类似疑问的朋友。本文在写作时尽量做到通俗易懂，但要求读者知道什么是字节，什么是十六进制。&lt;/span&gt;
&lt;/p&gt;
&lt;h3&gt;0、big endian和little endian&lt;/h3&gt;
&lt;p&gt;
&lt;span&gt;big
endian和little
endian是CPU处理多字节数的不同方式。例如&amp;ldquo;汉&amp;rdquo;字的Unicode编码是6C49。那么写到文件里时，究竟是将6C写在前面，还是将49写在前
面？如果将6C写在前面，就是big endian。还是将49写在前面，就是little endian。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;&amp;ldquo;endian&amp;rdquo;这个词出自《格列佛游记》。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开，由此曾发生过六次叛乱，其中一个皇帝送了命，另一个丢了王位。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;我们一般将endian翻译成&amp;ldquo;字节序&amp;rdquo;，将big endian和little endian称作&amp;ldquo;大尾&amp;rdquo;和&amp;ldquo;小尾&amp;rdquo;。&lt;/span&gt;
&lt;/p&gt;
&lt;h3&gt;1、字符编码、内码，顺带介绍汉字编码&lt;/h3&gt;
&lt;p&gt;
&lt;span&gt;字符必须编码后才能被计算机处理。计算机使用的缺省编码方式就是计算机的内码。早期的计算机使用7位的ASCII编码，为了处理汉字，程序员设计了用于简体中文的GB2312和用于繁体中文的big5。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;GB2312(1980年)一共收录了7445个字符，包括6763个汉字和682个其它符号。汉字区的内码范围高字节从B0-F7，低字节从A1-FE，占用的码位是72*94=6768。其中有5个空位是D7FA-D7FE。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;GB2312
支持的汉字太少。1995年的汉字扩展规范GBK1.0收录了21886个符号，它分为汉字区和图形符号区。汉字区包括21003个字符。2000年的
GB18030是取代GBK1.0的正式国家标准。该标准收录了27484个汉字，同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。现在的PC平
台必须支持GB18030，对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;从ASCII、
GB2312、GBK到GB18030，这些编码方法是向下兼容的，即同一个字符在这些方案中总是有相同的编码，后面的标准支持更多的字符。在这些编码
中，英文和中文可以统一地处理。区分中文编码的方法是高字节的最高位不为0。按照程序员的称呼，GB2312、GBK到GB18030都属于双字节字符集
(DBCS)。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;有的中文Windows的缺省内码还是GBK，可以通过GB18030升级包升级到GB18030。不过GB18030相对GBK增加的字符，普通人是很难用到的，通常我们还是用GBK指代中文Windows内码。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;这里还有一些细节：&lt;/span&gt;
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
	&lt;p&gt;
	&lt;span&gt;GB2312的原文还是区位码，从区位码到内码，需要在高字节和低字节上分别加上A0。&lt;/span&gt;
	&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;
	&lt;span&gt;在DBCS中，GB内码的存储格式始终是big endian，即高位在前。&lt;/span&gt;
	&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;
	&lt;span&gt;GB2312
	的两个字节的最高位都是1。但符合这个条件的码位只有128*128=16384个。所以GBK和GB18030的低字节最高位都可能不是1。不过这不影
	响DBCS字符流的解析：在读取DBCS字符流时，只要遇到高位为1的字节，就可以将下两个字节作为一个双字节编码，而不用管低字节的高位是什么。&lt;/span&gt;
	&lt;/p&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;2、Unicode、UCS和UTF&lt;/h3&gt;
&lt;p&gt;
&lt;span&gt;前面提到从ASCII、GB2312、GBK到GB18030的编码方法是向下兼容的。而Unicode只与ASCII兼容（更准确地说，是与ISO-8859-1兼容），与GB码不兼容。例如&amp;ldquo;汉&amp;rdquo;字的Unicode编码是6C49，而GB码是BABA。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;Unicode
也是一种字符编码方法，不过它是由国际组织设计，可以容纳全世界所有语言文字的编码方案。Unicode的学名是&amp;quot;Universal
Multiple-Octet Coded Character Set&amp;quot;，简称为UCS。UCS可以看作是&amp;quot;Unicode Character
Set&amp;quot;的缩写。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;根据维基百科全书(http:
//zh.wikipedia.org/wiki/)的记载：历史上存在两个试图独立设计Unicode的组织，即国际标准化组织（ISO）和一个软件制
造商的协会（unicode.org）。ISO开发了ISO 10646项目，Unicode协会开发了Unicode项目。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;在1991年前后，双方都认识到世界不需要两个不兼容的字符集。于是它们开始合并双方的工作成果，并为创立一个单一编码表而协同工作。从Unicode2.0开始，Unicode项目采用了与ISO 10646-1相同的字库和字码。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;目前两个项目仍都存在，并独立地公布各自的标准。Unicode协会现在的最新版本是2005年的Unicode 4.1.0。ISO的最新标准是10646-3:2003。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;UCS规定了怎么用多个字节表示各种文字。怎样传输这些编码，是由UTF(UCS Transformation Format)规范规定的，常见的UTF规范包括UTF-8、UTF-7、UTF-16。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;IETF
的RFC2781和RFC3629以RFC的一贯风格，清晰、明快又不失严谨地描述了UTF-16和UTF-8的编码方法。我总是记不得IETF是
Internet Engineering Task Force的缩写。但IETF负责维护的RFC是Internet上一切规范的基础。&lt;/span&gt;
&lt;/p&gt;
&lt;h3&gt;3、UCS-2、UCS-4、BMP&lt;/h3&gt;
&lt;p&gt;
&lt;span&gt;UCS有两种格式：UCS-2和UCS-4。顾名思义，UCS-2就是用两个字节编码，UCS-4就是用4个字节（实际上只用了31位，最高位必须为0）编码。下面让我们做一些简单的数学游戏：&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;UCS-2有2^16=65536个码位，UCS-4有2^31=2147483648个码位。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;UCS
-4根据最高位为0的最高字节分成2^7=128个group。每个group再根据次高字节分为256个plane。每个plane根据第3个字节分为
256行 (rows)，每行包含256个cells。当然同一行的cells只是最后一个字节不同，其余都相同。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;group 0的plane 0被称作Basic Multilingual Plane, 即BMP。或者说UCS-4中，高两个字节为0的码位被称作BMP。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;将UCS-4的BMP去掉前面的两个零字节就得到了UCS-2。在UCS-2的两个字节前加上两个零字节，就得到了UCS-4的BMP。而目前的UCS-4规范中还没有任何字符被分配在BMP之外。&lt;/span&gt;
&lt;/p&gt;
&lt;h3&gt;4、UTF编码&lt;/h3&gt;
&lt;p&gt;
&lt;span&gt;UTF-8就是以8位为单元对UCS进行编码。从UCS-2到UTF-8的编码方式如下：&lt;/span&gt;
&lt;/p&gt;
&lt;table border=&quot;1&quot; width=&quot;75%&quot;&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td&gt;&lt;span&gt;UCS-2编码(16进制)&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;UTF-8 字节流(二进制)&lt;/span&gt;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;&lt;span&gt;0000 - 007F&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;0xxxxxxx&lt;/span&gt;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;&lt;span&gt;0080 - 07FF&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;110xxxxx 10xxxxxx&lt;/span&gt;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;&lt;span&gt;0800 - FFFF&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;1110xxxx 10xxxxxx 10xxxxxx&lt;/span&gt;&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
&lt;span&gt;例如&amp;ldquo;汉&amp;rdquo;字的Unicode编码是6C49。6C49在0800-FFFF之间，所以肯定要用3字节模板了：&lt;span style=&quot;color: #0000ff&quot;&gt;1110&lt;/span&gt;xxxx &lt;span style=&quot;color: #0000ff&quot;&gt;10&lt;/span&gt;xxxxxx &lt;span style=&quot;color: #0000ff&quot;&gt;10&lt;/span&gt;xxxxxx。将6C49写成二进制是：0110 110001 001001， 用这个比特流依次代替模板中的x，得到：&lt;span style=&quot;color: #0000ff&quot;&gt;1110&lt;/span&gt;0110 &lt;span style=&quot;color: #0000ff&quot;&gt;10&lt;/span&gt;110001 &lt;span style=&quot;color: #0000ff&quot;&gt;10&lt;/span&gt;001001，即E6 B1 89。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;读者可以用记事本测试一下我们的编码是否正确。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;UTF
-16以16位为单元对UCS进行编码。对于小于0x10000的UCS码，UTF-16编码就等于UCS码对应的16位无符号整数。对于不小于
0x10000的UCS码，定义了一个算法。不过由于实际使用的UCS2，或者UCS4的BMP必然小于0x10000，所以就目前而言，可以认为UTF
-16和UCS-2基本相同。但UCS-2只是一个编码方案，UTF-16却要用于实际的传输，所以就不得不考虑字节序的问题。&lt;/span&gt;
&lt;/p&gt;
&lt;h3&gt;5、UTF的字节序和BOM&lt;/h3&gt;
&lt;p&gt;
&lt;span&gt;UTF
-8以字节为编码单元，没有字节序的问题。UTF-16以两个字节为编码单元，在解释一个UTF-16文本前，首先要弄清楚每个编码单元的字节序。例如收
到一个&amp;ldquo;奎&amp;rdquo;的Unicode编码是594E，&amp;ldquo;乙&amp;rdquo;的Unicode编码是4E59。如果我们收到UTF-16字节流&amp;ldquo;594E&amp;rdquo;，那么这是&amp;ldquo;奎&amp;rdquo;还是
&amp;ldquo;乙&amp;rdquo;？&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;Unicode规范中推荐的标记字节顺序的方法是BOM。BOM不是&amp;ldquo;Bill Of Material&amp;rdquo;的BOM表，而是Byte Order Mark。BOM是一个有点小聪明的想法：&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;在UCS
编码中有一个叫做&amp;quot;ZERO WIDTH NO-BREAK
SPACE&amp;quot;的字符，它的编码是FEFF。而FFFE在UCS中是不存在的字符，所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前，先传输
字符&amp;quot;ZERO WIDTH NO-BREAK SPACE&amp;quot;。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;这样如果接收者收到FEFF，就表明这个字节流是Big-Endian的；如果收到FFFE，就表明这个字节流是Little-Endian的。因此字符&amp;quot;ZERO WIDTH NO-BREAK SPACE&amp;quot;又被称作BOM。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;UTF
-8不需要BOM来表明字节顺序，但可以用BOM来表明编码方式。字符&amp;quot;ZERO WIDTH NO-BREAK SPACE&amp;quot;的UTF-8编码是EF
BB BF（读者可以用我们前面介绍的编码方法验证一下）。所以如果接收者收到以EF BB BF开头的字节流，就知道这是UTF-8编码了。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;Windows就是使用BOM来标记文本文件的编码方式的。&lt;/span&gt;
&lt;/p&gt;
&lt;h3&gt;6、进一步的参考资料&lt;/h3&gt;
&lt;p&gt;
&lt;span&gt;本文主要参考的资料是 &amp;quot;Short overview of ISO-IEC 10646 and Unicode&amp;quot; (http://www.nada.kth.se/i18n/ucs/unicode-iso10646-oview.html)。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;我还找了两篇看上去不错的资料，不过因为我开始的疑问都找到了答案，所以就没有看：&lt;/span&gt;
&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;&lt;span&gt;&amp;quot;Understanding
	Unicode A general introduction to the Unicode Standard&amp;quot;
	(http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&amp;amp;item_id=IWS-Chapter04a)
	&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span&gt;&amp;quot;Character set encoding basics
	Understanding character set encodings and legacy encodings&amp;quot;
	(http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&amp;amp;item_id=IWS-Chapter03)
	&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;span&gt;我写过UTF-8、UCS-2、GBK相互转换的软件包，包括使用Windows API和不使用Windows API的版本。以后有时间的话，我会整理一下放到我的个人主页上(http://fmddlmyy.home4u.china.com)。&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;我是想清楚所有问题后才开始写这篇文章的，原以为一会儿就能写好。没想到考虑措辞和查证细节花费了很长时间，竟然从下午1:30写到9:00。希望有读者能从中受益。&lt;/span&gt;
&lt;/p&gt;
&lt;/span&gt;</dc:description>
      
    <dc:subject>网站开发</dc:subject>
     
    
  <dc:date>2008-06-02T01:14:09Z</dc:date>
    <dc:creator>wupei</dc:creator>
 </item>
  <item rdf:about="http://wupei.j2megame.org/blog.php/myblog/j2me/2008/06/02/think-proguard">
  <title>J2ME下Java代码混淆的思考 (proGuard4.2)</title>
  <link>http://wupei.j2megame.org/blog.php/myblog/j2me/2008/06/02/think-proguard</link>
  <dc:description>&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://wupei.j2megame.org/plugins/plogeshi/styles/plogeshi.css&quot; /&gt;&lt;p&gt;
最近在项目中发现,proGuard混淆忒强大了!
&lt;/p&gt;
&lt;p&gt;
总结一下,对于以后的J2ME编码来讲,这样非常有利于编程,甚至是移植,效率!
&lt;/p&gt;
&lt;p&gt;
1. 如果一个函数只用过一次,会自动编译进原调用函数&lt;br /&gt;
说明: OK,多多封装函数吧
&lt;/p&gt;
&lt;p&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://wupei.j2megame.org/plugins/plogeshi/styles/plogeshi.css&quot; /&gt;&lt;/p&gt;
&lt;p&gt;
2. 如果是final常量(非数组),会自动编译进原调用位置&lt;br /&gt;
说明: 用于隐藏式编程,防止出现明文代码
&lt;/p&gt;
&lt;p&gt;
3. proGuard混淆的代码,经过反编译会出现这样的情况: int i=1; this = i; &lt;br /&gt;
说明: 是的.就是语法错误,所以说很强大!会防止反编译的!不知道为什么
&lt;/p&gt;
&lt;p&gt;
4. 如果一个函数未被调用过,会被除去!&lt;br /&gt;
说明: 功能函数尽量多的写吧 
&lt;/p&gt;
&lt;p&gt;
5. 待续&amp;nbsp;
&lt;/p&gt;</dc:description>
      
    <dc:subject>J2ME</dc:subject>
     
    
  <dc:date>2008-06-02T00:09:13Z</dc:date>
    <dc:creator>wupei</dc:creator>
 </item>
  <item rdf:about="http://wupei.j2megame.org/blog.php/myblog/j2me/2008/06/01/thinking-in-j2me-game">
  <title>自己关于手机游戏行业及开发技术的畅想</title>
  <link>http://wupei.j2megame.org/blog.php/myblog/j2me/2008/06/01/thinking-in-j2me-game</link>
  <dc:description>&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://wupei.j2megame.org/plugins/plogeshi/styles/plogeshi.css&quot; /&gt;&lt;p&gt;
参加实习也不算短了,总结一下,顺便给自己指明道路!&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
一直认为J2ME手机行业是技术门槛比较低的一个行业,但是真有这么低吗?答案应该是没有.
&lt;/p&gt;
&lt;p&gt;
自己也是一直认为PC游戏的技术是最难的,最复杂的,相比Java,J2ME来说,C++也是难上加难,基于我对技术的崇拜或者什么,所以一直想转向PC游戏开发,但自从进入手机游戏部门开始实习,发现这一切应该都是表面的东西,技术低?难道就有J2ME那几个类?那几个函数吗?不是的! API越多你的工作量就越少,API越少你的工作量就越多,想C++的基本API和JAVA的基本API,C++你需要自己实现更多的东西,像DirectX与J2ME相比,J2ME你需要做更多的事情
&lt;/p&gt;
&lt;p&gt;
是的,在我学Java,J2ME的时候,在毫无Java,J2ME的知识下,仅仅用了一个星期的时间,就可以完成一个图形化棋类的游戏了,相比C++来说,利用MFC做出一个像样的游戏,还是有很大的距离的,但是仔细一想,其实还是靠的我C++坚实的基础,造就了我的学习效率
&lt;/p&gt;
&lt;p&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://wupei.j2megame.org/plugins/plogeshi/styles/plogeshi.css&quot; /&gt;&lt;/p&gt;
&lt;p&gt;
在现在PC网游开发阶段,也已经看到现在开发PC网游已经不是开发游戏了,已经是开发服务器通信,或者是相关的工具,或者是图形显示,或者是3dMax插件...等等,大多数也已经从开发游戏中脱离了出来
&lt;/p&gt;
&lt;p&gt;
而手机游戏呢?现在是代码量还是比较小的,但是总归是在开发游戏吧,不管是游戏的逻辑,游戏的显示也好,但已经开始向PC网游那种的形式发展了,比如游戏工具之类的东西,游戏嘛,应该都是这样的发展过程,向有利于开发人员更好的开发游戏方向发展,比如给策划用的关卡编辑器,给美术用的动画编辑器等等等
&lt;/p&gt;
&lt;p&gt;
手机用户在全国用户现在也应该有4,5亿了,比PC拥有者要多得多,前景是非常好的,而且当前的手机游戏开发相比PC游戏开发就像以前的DOS下开发游戏,是基于硬件的,就像不同的手机用不同的API,不同的平台,甚至平台上的API不遵循标准,甚至是有API的BUG出现,这就是DOS时代,慢慢的就会有一个统一的平台会出现,也不知道他是什么,但是一定是会有的,就像 windows 取代 dos 一样,当时 windows 新出来的时候,很多程序员是十分摒弃 windows 的,比 dos 运行又慢,又丑陋,最终 windows 还是战胜了 dos,也战胜了其他的操作系统,最终到了我们最终用户的手中
&lt;/p&gt;
&lt;p&gt;
OK,如果平台换了,API也换了,还要J2ME吗?这不白学了,NONO,不是的,作为游戏开发这个层面来讲,一切终端上的开发都是由 DOS 类似的时代转换而来的,游戏主机,比如PS,一开始也是从比如任天堂,一步一步发展而来的,而PC游戏,已经到了一个程度的,看不到他多远的路程,手机游戏缺看到有很光明的一段路程,所以作为游戏开发来讲,进入一个 dos 时代的行业,会与行业与时俱进的,平台换了,没关系,只是换了个语言,换了个工具而已,咱还可以接着干,因为咱懂, PC游戏缺不一样,因为他的开发模式已经基本成熟,如果现在PC游戏全部一直到Linux上,那上千万级别的代码怎么办呢?......这里应该也有项目大小的问题,现在J2ME是项目较小的问题
&lt;/p&gt;
&lt;p&gt;
要从手机行业出发,并非以J2ME出发,J2ME只是工具,是技巧!从全局出发,再大就是从游戏出发,从底层做起,也就是DOS时代,与时俱进是非常有前途的
&lt;/p&gt;
&lt;p&gt;
而且自己的技术积累,也比PC网游的多,又有网站!转向手机游戏了! J2ME还是开源的!
&lt;/p&gt;
&lt;p&gt;
个人转向好处:
&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;技术并不简单&lt;/li&gt;
	&lt;li&gt;是开发游戏,不是别的&lt;/li&gt;
	&lt;li&gt;行业很看好,是DOS时代,与时俱进&lt;/li&gt;
	&lt;li&gt;用户群体多,前途看好&lt;/li&gt;
	&lt;li&gt;自己的技术积累多&lt;/li&gt;
	&lt;li&gt;J2ME开源,ant,polish,proguard出色的开源项目&lt;/li&gt;
	&lt;li&gt;自己的网站&lt;/li&gt;
	&lt;li&gt;易调试,易安装,数据量小,自己可以把握&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
注意:　纯属个人意见!&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
------------------------&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
作为程序员:&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
在J2ME的游戏开发上,要时刻想着移植的问题,用户体验也非常得重要!程序员体验也相当重要,也就是你的代码的合理性与美观性!俗话就是良好的编程思想!
&lt;/p&gt;
&lt;p&gt;
移植要使你的函数写得封装得很好,和可变化性高,以适应以后的修改
&lt;/p&gt;
&lt;p&gt;
用户体验,要从每一细节的地方抓起,个人认为这是做精品游戏的一个关键点! 比如菜单选择框,有得选择框是一个循环的,在最后一个菜单,按下以后,会自动跳到第一个菜单,这就是对用户体验提高的一个小点,其实还有很多很多!以后将用专贴记录一下
&lt;/p&gt;
&lt;p&gt;
开发游戏不是为了项目经理开发,更不是为了怎么赚钱开发,是为了用户体验,为了玩家开发,钱只是副产物而已&amp;nbsp;
&lt;/p&gt;</dc:description>
      
    <dc:subject>J2ME</dc:subject>
     
    
  <dc:date>2008-06-01T22:43:19Z</dc:date>
    <dc:creator>wupei</dc:creator>
 </item>
  <item rdf:about="http://wupei.j2megame.org/blog.php/myblog/webdev/2008/05/19/mysql3-to-mysql4">
  <title>从根本解决 MySQL 3 数据库升级到 MySQL 4.1 乱码问题</title>
  <link>http://wupei.j2megame.org/blog.php/myblog/webdev/2008/05/19/mysql3-to-mysql4</link>
  <dc:description>&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://wupei.j2megame.org/plugins/plogeshi/styles/plogeshi.css&quot; /&gt;&lt;p&gt;
这两天,研究了一下mysql升级的乱码问题,终于解决了困扰我很久的问题,这里记录一下,以前相关的文章也已经更新了
&lt;/p&gt;
&lt;p&gt;
以后就可以访问的更换服务器了
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;color: #ffcc00&quot;&gt;先来看问题描述:&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
开始的服务器版本: Linux + Apache2.0 + php4.4.0 + mysql3.2.3 无乱码 (SQL导出文件起始地)&lt;br /&gt;
开始的本地测试版本: XP + IIS5.1 + php4.4.0 + mysql3.2.3 无乱码&lt;br /&gt;
更新的服务器版本: Linux + Apache2.0 + php4.4.0 + mysql4.1 无乱码 (空间提供商上传)&lt;br /&gt;
更新的本地测试版本: XP + IIS5.1 + php4.4.0 + mysql4.1 &lt;strike&gt;无乱码&lt;/strike&gt;(不知道为什么,但是后来又乱码了)&lt;br /&gt;
最新的本地测试版本: XP + Apache2.0 + php4.4.0 + mysql4.1 乱码....崩溃..3天..未解决.. 
&lt;/p&gt;
&lt;p&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://wupei.j2megame.org/plugins/plogeshi/styles/plogeshi.css&quot; /&gt;&lt;span style=&quot;color: #ffcc00&quot;&gt;问题解决:&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
首先将 sql 文件从服务器上下载下来,或者从什么地方得到这个 sql 执行文件&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
1. 使用 &lt;span style=&quot;color: #ffcc00&quot;&gt;UltraEdit&lt;/span&gt; 打开这个文件,观看文件是否是utf-8格式,下面的状态栏有提示,如果不是文件另存为&lt;span style=&quot;color: #ffcc00&quot;&gt;UTF-8(无BOM)格式&lt;/span&gt;,观看文件的中文字符,是否显示正常,显示正常OK,继续
&lt;/p&gt;
&lt;p&gt;
说明: 记着是 UltraEdit ,因为这个软件支持UTF-8编码文件(其他的也可以),windows自带的记事本可能出现匪夷所思的事情,无(BOM)格式也很重要,PHP不支持BOM头... &lt;span style=&quot;color: #ffcc00&quot;&gt;如果这里无法显示正常的话,不可能往下进行了&lt;/span&gt;...我试过,所以说多用不同形式导出几次,使得原始数据正常
&lt;/p&gt;
&lt;p&gt;
2. 如果sql文件出现,新建表指令,注意中间的 &lt;br /&gt;
ENGINE=MyISAM DEFAULT &lt;span style=&quot;color: #ffcc00&quot;&gt;CHARSET=latin1&lt;/span&gt; AUTO_INCREMENT=101 ; &lt;br /&gt;
修改为: ENGINE=MyISAM DEFAULT &lt;span style=&quot;color: #ffcc00&quot;&gt;CHARSET=utf8 &lt;/span&gt;AUTO_INCREMENT=101 ;
&lt;/p&gt;
&lt;p&gt;
说明: 本操作就是告诉mysql表使用什么字符集
&lt;/p&gt;
&lt;p&gt;
3. 新建数据库,使用&amp;nbsp; &lt;span style=&quot;color: #ffcc00&quot;&gt;utf8_general_ci&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
4. 使用 phpMyAdmin 导入该文件到 mysql4, 导入的文件编码选择 &lt;span style=&quot;color: #ffcc00&quot;&gt;UTF-8&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
说明: 如果导入错误,看看是否出现语法错误,修改,继续导入&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
5. 使用 phpMyAdmin 浏览相关记录,观看中文记录是否显示正常,正常继续
&lt;/p&gt;
&lt;p&gt;
6. 浏览你的php程序,观看,读取数据库内容,仍然乱码,在打开数据库 &lt;span style=&quot;color: #ffcc00&quot;&gt;@mysql_connect( $host, $user, $pass )&lt;/span&gt; 类似语句之后添加 &lt;span style=&quot;color: #ffcc00&quot;&gt;@mysql_query(&amp;quot;SET NAMES &#039;utf8&#039;&amp;quot;);&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
7. 刷新网页,OK,成功
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;color: #ffcc00&quot;&gt;说明:&lt;/span&gt;
&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;中间任何的过程出现错误,将导致转换失败&lt;/li&gt;
	&lt;li&gt;这里还有一个问题,就是现在所有的数据,前台数据,数据库数据,和传输过程的数据都用utf-8格式,所以相关的&lt;span style=&quot;color: #ffcc00&quot;&gt;数据量&lt;/span&gt;必然会增大,如果网页特别巨大,而且考虑到页面加载问题,可能会出现一点问题 &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
恩,相关的知识就不在这里细说了,我已经写在了这个博客中的&amp;quot;&lt;a href=&quot;http://wupei.j2megame.org/blog.php/myblog/webdev&quot; target=&quot;_blank&quot;&gt;网站开发&lt;/a&gt;&amp;quot;类别中,想了解的,可以去看看
&lt;/p&gt;
&lt;p&gt;
个人感觉...很复杂... mysql,phpmyadmin,php,mysql 各个方面都会导致乱码问题....&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
不过今天解决了,高兴的,嘿嘿
&lt;/p&gt;
&lt;p&gt;
本博客和joomla站点就是使用这种方法实现转换的&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
----------------------------
&lt;/p&gt;
&lt;p&gt;
在记录一下自己以前的思路,虽然有很多错误的,但值得思考
&lt;/p&gt;
&lt;p&gt;
&lt;strike&gt;查得的解决途径: (对我这个问题,均未奏效)&lt;/strike&gt; &lt;span style=&quot;color: #ffcc00&quot;&gt;(05年5月18日删除)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 1. php配置文件php.ini问题:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 类似语句: default_charset = &amp;quot;iso-8859-1&amp;quot; 或 default_charset = &amp;quot;UTF-8&amp;quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 解决方法: 注释掉&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 2. Apache配置文件httpd.conf问题:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 类似语句: AddDefaultCharset off 或者 AddDefaultCharset&amp;nbsp; UTF-8&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 解决办法: 添加或者修改,不提倡用第二个&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 3. Mysql问题&amp;nbsp; 传输过程乱码,显示乱码和结果集乱码...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 类似语句: SET NAMES &#039;utf8&#039;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 相当于: SET character_set_client = utf8;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SET character_set_results = utf8;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SET character_set_connection = utf8;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 解决办法: 每次SQL语句之前执行&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 4. phpmyadmin导入问题&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 与数据库的连接校对,字符集,和导入时选择的文件字符集都有关系&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 5. phpmyadmin提示的两个错误&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1. 没有发现 PHP 的扩展设置mbstring， 而当前系统好像在使用宽字符集。没有 mbstring 扩展的 phpMyAdmin 不能正确识别字符串，可能产生不可意料的结果.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2. Your PHP MySQL library version 3.23.49 differs from your MySQL server version 4.1.22. This may cause unpredictable behavior.&amp;nbsp;&amp;nbsp; (网上查这个好像没问题)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 6. XP问题: XP的文件,也就是PHP文件本身的问题....越来越离谱好像...&lt;strike&gt; &lt;/strike&gt;
&lt;/p&gt;</dc:description>
      
    <dc:subject>网站开发</dc:subject>
     
    
  <dc:date>2008-05-19T10:12:44Z</dc:date>
    <dc:creator>wupei</dc:creator>
 </item>
  <item rdf:about="http://wupei.j2megame.org/blog.php/myblog/webdev/2008/05/19/reprint-mysql3-to-mysql4">
  <title>mysql3升级到mysql4乱码问题知识汇总(转载)</title>
  <link>http://wupei.j2megame.org/blog.php/myblog/webdev/2008/05/19/reprint-mysql3-to-mysql4</link>
  <dc:description>&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://wupei.j2megame.org/plugins/plogeshi/styles/plogeshi.css&quot; /&gt;&lt;p&gt;
最近解决了mysql3与mysql4的乱码问题,先共享下文章,相关文章可以在 &amp;quot;&lt;a href=&quot;http://wupei.j2megame.org/blog.php/myblog/webdev&quot; target=&quot;_blank&quot;&gt;网站开发类别&lt;/a&gt;&amp;quot; 中寻找
&lt;/p&gt;
&lt;p&gt;
先转载两篇文章:
&lt;/p&gt;
&lt;p&gt;
均来自: &lt;a href=&quot;http://a-wei.net/&quot; target=&quot;_blank&quot;&gt;http://a-wei.net/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;color: #ffcc00&quot;&gt;MySQL latin1 轉 utf8&lt;/span&gt; &lt;br /&gt;
&lt;br /&gt;
相信 MySQL 的編碼對很多人來說 &amp;hellip; 一直是個相當令人頭痛的問題 &amp;hellip; 今天所要做的介紹是如何把資料庫的資料, 由 latin1 轉成 utf8..&lt;br /&gt;
&lt;br /&gt;
一般 .. MySQL 裝起來後（用 rpm 安裝） ，系統的預設編碼是 latin1.&lt;br /&gt;
&lt;br /&gt;
而很多人在安裝一些網頁的系統時，如 wordpress、LifeType、phpBB &amp;hellip; 等等，都會選擇 utf8 。
&lt;/p&gt;
&lt;p&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://wupei.j2megame.org/plugins/plogeshi/styles/plogeshi.css&quot; /&gt;&lt;/p&gt;
&lt;p&gt;
這時 &amp;hellip; 系統一樣可以正常運作 &amp;hellip; 只是當用 phpmyadmin 進入管理資料庫時，就會發現 .. 怎麼中文字的部分都變成了歪七扭八 ..&lt;br /&gt;
&lt;br /&gt;
或者一些鬼畫符的文字。如：????o??&amp;hellip;?????&amp;middot;￥???&amp;egrave;??&amp;egrave;&amp;mu;&amp;middot;&lt;br /&gt;
&lt;br /&gt;
此現象就是 utf8 的文字以 latin1形式儲存，phpmyadmin 以 utf8 的資料讀取方式讀取 &amp;hellip; 讀出來的資料就是這種鬼畫符&amp;hellip;&amp;gt;&amp;lt;。&lt;br /&gt;
&lt;br /&gt;
若要解決 phpmyadmin 讀出的鬼畫符 &amp;hellip; 有兩個方法：&lt;br /&gt;
&lt;br /&gt;
1. 進入 phpmyadmin 內一個名為 libraries 的子目錄 .. 編輯 select_lang.lib.php. 找到 $mysql_charset_map 這一段下方 ..&lt;br /&gt;
&lt;br /&gt;
&amp;lsquo;utf-8&amp;prime; =&amp;gt; &amp;lsquo;utf8&amp;prime;,&lt;br /&gt;
把它改成&lt;br /&gt;
&lt;br /&gt;
&amp;lsquo;utf-8&amp;prime; =&amp;gt; &amp;lsquo;latin1&amp;prime;,&lt;br /&gt;
&lt;br /&gt;
然後存檔 &amp;hellip; 這時候就可以發現原先的鬼畫符 &amp;hellip; 這時候又都正常了.&lt;br /&gt;
&lt;br /&gt;
2. 把資料庫的編碼轉成 utf8 &amp;hellip;&lt;br /&gt;
&lt;br /&gt;
步驟：&lt;br /&gt;
&lt;br /&gt;
a. 把資料庫 dump 出來&lt;br /&gt;
&lt;br /&gt;
mysqldump -u xxx -p database &amp;gt; database.sql &amp;ndash;default-character-set=latin1&lt;br /&gt;
&lt;br /&gt;
這時候 dump 出來的 database.sql 是 latin1 的檔案格式，然而是 utf8 的文字資料，因此這時若用 vi 開檔看它 &amp;hellip;&lt;br /&gt;
&lt;br /&gt;
還是會發現中文字是鬼畫符 &amp;hellip; 這時不要被眼前的假象所騙 &amp;hellip; 以為自己做錯 .. 幾接著做下一步驟。&lt;br /&gt;
&lt;br /&gt;
b. 把 dump 出來的 database.sql 下載回去 .. 用 emEditor（網路上可免費下載，是個支援 utf-8 的編輯器）把 database.sql 打開，&lt;br /&gt;
&lt;br /&gt;
它可以正常識別 utf8 的文字 ..用取代的功能，把 latin1 都取代成 utf8 ，之後直接另存新檔 .. 這時把檔案類型設定儲存成 UTF-8。&lt;br /&gt;
&lt;br /&gt;
c. 再把 database-utf8.sql 上傳到 server .. 這時我們用 vi 開啟它 .. 就可以看見是正常的中文字 .. 這就表示檔案沒問題囉。&lt;br /&gt;
&lt;br /&gt;
d. 把檔案匯入資料庫&lt;br /&gt;
&lt;br /&gt;
mysql database &amp;lt; database-utf8.sql -u xxx -p --default-character-set=utf8&lt;br /&gt;
如果資料量不是很大 &amp;hellip; 那麼很快就可以完成這個步驟 .. 這時候若沒有錯誤訊息出現 .. 那麼恭喜你 ..&lt;br /&gt;
&lt;br /&gt;
你已經完成了資料庫轉換的工作了。如果有錯誤訊息出現 .. 主要有兩個情形 ..&lt;br /&gt;
&lt;br /&gt;
1. 文件檔內的中文字，用 vi 看是亂碼 ..文件檔的格式不是 utf-8。&lt;br /&gt;
&lt;br /&gt;
2. 匯入的時候漏掉指定採用 utf8 的資料編碼匯入。&lt;br /&gt;
&lt;br /&gt;
以上的作業是在 資料庫系統都是處於 latin1 的環境底下，也就是沒有在 my.cnf 指定 default-character-set=utf8。&lt;br /&gt;
&lt;br /&gt;
-----------------------------------------
&lt;/p&gt;
&lt;p&gt;
你好,&lt;br /&gt;
我上去看了，是個 phpMyAdmin 的管理介面，這是代管系統嗎？&lt;br /&gt;
mysql 預設的編碼是 latin1_swedish_ci.&lt;br /&gt;
&lt;br /&gt;
因此建議你，直接修改 phpMyAdmin 的預設編碼，改成 latin1。&lt;br /&gt;
而不要修改資料庫編碼。&lt;br /&gt;
&lt;br /&gt;
因為即使你修改了資料庫編碼，但資料庫連線的編碼還是會使用 latin1.&lt;br /&gt;
到時你會落的兩邊都不是。&lt;br /&gt;
&lt;br /&gt;
mysql 資料庫的編碼系統有三種類型。&lt;br /&gt;
1. 前端資料編碼 （網頁）&lt;br /&gt;
2. 資料庫連線編碼（網頁與資料庫的連線）&lt;br /&gt;
3. 資料庫儲存編碼（把資料儲存在資料庫內的編碼）&lt;br /&gt;
&lt;br /&gt;
你現在的情況應該是這樣.&lt;br /&gt;
1. utf-8&lt;br /&gt;
2. latin1&lt;br /&gt;
3. utf8&lt;br /&gt;
&lt;br /&gt;
前端資料是 utf-8 的編碼，但是在資料庫連線建立後轉成了 latin1 ，再儲存在 utf8 的資料庫內，因此存在 utf8資料庫內的「資料」是 latin1 編碼，而不是 utf8。&lt;br /&gt;
&lt;br /&gt;
phpMyadmin 的管理程式的設定值是這樣&lt;br /&gt;
&lt;br /&gt;
1. utf-8&lt;br /&gt;
2. utf8&lt;br /&gt;
3. don&amp;rsquo;t care&lt;br /&gt;
這也就是我前面所說得第一個方法，改 phpMyadmin 的編碼，指的就是改第2項。&lt;br /&gt;
&lt;br /&gt;
要把第2項也改成 utf8 編碼的話，必需要在程式內 mysql_connect() 之後接著下這個命令「@mysql_query(&amp;rsquo;SET NAMES UTF8&amp;prime;)」&lt;br /&gt;
這是在你無法變更 mysql 系統的預設編碼狀態下，唯一能夠使用的方法。&lt;br /&gt;
也就是說，到時你要更改你 blog 系統內的資料庫連線，把這段程式碼加上去，才能完整的使用 utf8。&lt;br /&gt;
&lt;br /&gt;
但是 &amp;hellip; 如果現在就貿然的把 wordpress 資料庫連線編碼變更，新寫入的資料在phpMyadmin 會看的見正常編碼，但是舊的還是「亂碼」 ?&lt;br /&gt;
&lt;br /&gt;
這也就是為什麼我會說，要先把資料庫的資料轉碼。&lt;br /&gt;
而轉碼的方法就是 telnet 或 ssh 到 server.. 直接下命令把資料庫 dump 出來，&lt;br /&gt;
轉碼之後再回存資料庫。&lt;br /&gt;
&lt;br /&gt;
之後編輯 wordpress 目錄內的 wp-include\wp-db.php 這個檔案。&lt;br /&gt;
找到「&lt;br /&gt;
$this-&amp;gt;dbh = @mysql_connect($dbhost, $dbuser, $dbpassword);」&lt;br /&gt;
在它下方加入這一行 ..&lt;br /&gt;
@mysql_query(&amp;rdquo;SET NAMES UTF8&amp;Prime;);&lt;br /&gt;
&lt;br /&gt;
然後儲存。&lt;br /&gt;
以上的程序可能很繁瑣，建議你比較簡單的方式是 wordpress 資料庫刪除重建，重新開始。&lt;br /&gt;
先把這行修正資料庫連線的語法加進去，就不用理會轉碼了。&lt;br /&gt;
&lt;br /&gt;
case close.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
---------------------------------------- 
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;color: #ffcc00&quot;&gt;乱码出现的一种情况&lt;/span&gt;(但非mysql3到mysql4乱码问题) &lt;br /&gt;
&lt;br /&gt;
这种问题一般出现在服务器或mysql配置不当,甚至本身网页程序有问题,但关注一下也比较好
&lt;/p&gt;
&lt;p&gt;
很多时候，浏览器并不按照指定的编码来显示页面。 导致乱码。其实这和http头中的内容协商机制有关系： Content-Type:
text/html; charset=utf-8 当http头中有这一行的时候，浏览器总是按照这个头指示的编码来显示页面内容，而忽略
tag中的设置。如果Meta和Content-Type
的charset一致时，一切都是正常的，而一旦不一样，那就会出现问题。而apache本身是可以通过AddDefaultCarset
XXX来来设置 http头中的默认字符编码，但是当apache和php在一起的时候，还有一个设置会影响这个http头的默认编码：
default_charset = &amp;ldquo;utf-8&amp;Prime; 而这个default_charset
的设置会覆盖apache的AddDefaultCarset配置，当然也可以在每个php里面手动调用
header(&amp;rdquo;content-type:text/html; charset=xxx&amp;rdquo;) 来覆盖default_charset
的值，这么看来一共有四个地方 会对php的执行结果产生影响： 优先级别从高到低：
php的header(&amp;rdquo;content-type:text/html; charset=xxx&amp;rdquo;)函数
php.ini里面的default_charset 设置 httpd.conf
中的AddDefaultCarset设置最后才是html代码中的：META tag
其实最简单的办法是把php.ini中的default_charset和httpd.conf中的AddDefaultCarset置空。通过Meta
tag来指定编码，header只是临时性的改变编码的最后关口。&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
-----------------------------------------&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;color: #ffcc00&quot;&gt;
[转载]apache+php 乱码问题解决&lt;/span&gt; 个人认为这个也不是mysql3-mysql4乱码问题,跟第一类相同
&lt;/p&gt;
&lt;p&gt;
转载自：&lt;a href=&quot;http://hi.baidu.com/rebeccapih/blog/item/9feb28f49718c3daf3d385d5.html&quot;&gt;忘忧草&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
如果你在网上搜索 &amp;ldquo;apache配置&amp;rdquo;，搜到的页面大多都会建议你在httpd.conf中加上这么一句：AddDefaultCharset GB2312。对于新手而且是只用GB2312编码的开发人来说，这么做是ok的。
&lt;/p&gt;
&lt;p&gt;
但是如果要想使用UTF-8字符集的话，比如 在test.php文件中需要有&lt;br /&gt;
meta http-equiv=&amp;rdquo;Content-Type&amp;rdquo; content=&amp;rdquo;text/html; charset=UTF-8&amp;Prime;
这段代码。这时你再打开浏览器访问test.php页面的话，你看到的是正确的页面。但是如果实际上浏览器还是以GB2312编码解释从服务器返回的
response，为什么呢？原因是浏览器是根据http应答消息头部中的 Content-type: text/html;
charset=GB2312 来决定使用何种编码解释应答，也就是说apache服务器仍然用GB2312编码传递数据。
&lt;/p&gt;
&lt;p&gt;
所以说如果apache的默认字符集被设置成了GB2312，即使在页面中声明使用UTF-8编码，apache服务器还是会按照GB2312编码来传送http response。
&lt;/p&gt;
&lt;p&gt;
没关系，我们把AddDefaultCharset GB2312 改成 AddDefaultCharset
UTF-8，看看什么结果？如果你看到乱码恭喜你，你还知道是乱码问题；如果你看到是空白页面，那么你就惨了，你可能会以为这是其他什么原因造成的，而不
会从编码的角度去考虑怎么解决问题。这是为什么？&lt;br /&gt;
&lt;span&gt;&lt;/span&gt;&lt;br /&gt;
原因在于php文件本身是用系统字符集来编码的，中文的windows
XP都是用GB2312，每一个文件头部都有字段指示该文件是用何种方式编码的。当apache接到浏览器的请求后，会让php去解释所请求的页面，比如
test.php。php会识别出test.php的编码方式是GB2312后(就像我们用javac编译java源文件时，编译器默认用系统编码读源文
件里的内容。如果源文件不是用系统编码来保存的，可以用命令javac
-encoding指定具体的编码)，把数据以GB2312的编码格式传递给apache，而apache服务器不会改变从php传来的数据，只是在应答
消息头部中把字符集设置成UTF-8： Content-type: text/html; charset=UTF-8.
也就是说你传递的是GB2312编码的数据，而浏览器却以UTF-8编码来解释应答消息。
&lt;/p&gt;
&lt;p&gt;
由于UTF-8为3个字节表示一个汉子，而普通的GB2312或BIG5是两个。页面输出时，由于上述原因，出现半个汉字的情况，这时该半个汉字会
和的 &amp;gt;结合成一个乱码字，导致IE无法读完的话，会发现实际上整个叶面全部已经输出了。如果使用的是Mozilla、Mozilla
Firefox、Sarafi的浏览器这不会造成这个问题，而是一堆乱码。这是由于Firefox浏览器和IE解析网页编码的策略不同产生的。
&lt;/p&gt;
&lt;p&gt;
OK,我们把test.php以UTF-8保存，再用浏览器访问时，就没有问题了。可这样做，会使得apache目录下的所有web应用只能用同一种编码。如何搞定？
&lt;/p&gt;
&lt;p&gt;
解决办法：
&lt;/p&gt;
&lt;p&gt;
首先，可以使用AddDefaultCharset
off来关闭默认文件编码，这样apache服务器就不会在http应答消息头部设置charset，只是设置Content-type:
text/html.
而浏览器就会依靠html文件中设置的harset来决定编码。其次，脚本php.ini文件中的default_charset =
&amp;ldquo;UTF-8&amp;Prime;作用同httpd.conf文件，把该行注释掉，使php自动识别文件的编码方式。
&lt;/p&gt;
&lt;p&gt;
这样不论你用什么编码方式，只要test.php中的&lt;br /&gt;
meta http-equiv=&amp;rdquo;Content-Type&amp;rdquo; content=&amp;rdquo;text/html; charset=UTF-8&amp;Prime; 与你test.php文件编码方式相同，就不会产生乱码问题。
&lt;/p&gt;
&lt;p&gt;
用户提交数据的编码
&lt;/p&gt;
&lt;p&gt;
浏览器提交的字符编码由客户端的characher
encoding决定。例如，当前浏览器的编码是Gb2312，用户提交数据后，无论apache设置的编码方式是GB2312还是UTF-8，这时在服
务器端接收到的仍是以Gb2312编码的数据。如果要在返回页面上显示用户刚才提交的数据，而该页面是用UTF-8编码的，或者要在数据库中存储的用户提
交的数据，而数据库是UTF-8编码的，那就要做字符转换了。
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;</dc:description>
      
    <dc:subject>网站开发</dc:subject>
     
    
  <dc:date>2008-05-19T07:14:11Z</dc:date>
    <dc:creator>wupei</dc:creator>
 </item>
 </rdf:RDF>