Tuesday, December 19, 2006

JavaScript的三子棋游戏


Labels:

Java乱码问题一方案


问题介绍



在读取数据库或者JSP时可能出现乱码,很难猜测乱码的编码格式和内容。
问题的根源往往是数据本身是用一种字符集或者编码方案,在读出时使用了另外一种字符集或编码方案,因此出现了乱码。
如果我们先把得到的乱码按照读出的方案解码,先得到原本的数据内容,
再对得到的内容按照其本身的编码方案解码,即可得到正确的值。
一般情况下产生JAVA乱码的因由是由于:
IE默认字符集为GB2312,Windows默认为GBK,Java则默认为Unicode,所以如果不通过一定的转换,直接在GB2312字符集上显示从GBK或Unicode得到的页面将是一片乱码。
详细请参阅:树叶&&海的BLOG


解决思路


此程序的思路就是遍历所有的编码格式,对乱码进行解码再编码,来取得最初的符合逻辑的汉字或者其他文字


使用方法


把乱码贴到这个程序中点解码,程序会用所有选中的字符集对乱码解码,再重新编码。
最终得到一些内容,其中应该有符合逻辑的内容就是了,并显示解开乱码的方案。


范例



例如:偶用第三方组件读数据库输出中文部分全是乱码。
乱码的第一行是“XXXX”它应该对应汉字"良乡",偶想复原它,但不知道如何复原。
把它贴到程序中,点‘解码’发现其中一行输出:“以ISO8859_1 解码再以 GBK编码得到:良乡”,“良乡”是正确的内容,
说明数据库中数据是GBK的,而组件用ISO8859读取了内容,当然就显示了乱码。所以通过下边的代码对取得的乱码进行处理能够的到正确的内容。

String str=new String((new String("XXXX")).getBytes("ISO8859_1"),"GBK")

其中XXXX是乱码本身,str就是乱码的正确内容。
总而言之贴一些乱码进来点“解码”也许就会发现你想要的内容,同样输入正常的内容点"解码"也能看到有可能出现的乱码样式。


Applet:


请先随意输入几个字符或者汉字点解码;(注意:IE需要先点击APPLET一下使它激活)



可执行文件下载

系统环境:JRE5.0

Labels: