乱码,又有乱码,解决Maven(POM)编译中Java中的中文乱码和不同电脑上Java中直接写的中文乱码问题

  本博客关于Java项目开发中的乱码解决文章已经有很多了,如 {   [又一次成功解决Mysql乱码问题] [再谈乱码问题,如何解决MYSQL数据中文乱码问题] [解决jsp,tomcat,MYSQL下中文乱码问题]  },但是,每次总是有很多不同的地方,往往不能通过以前的方式来解决,或者总是有很多的不同,以至于没法解决. 

3:添加Maven运行环境变量,具体方法:[我的电脑]->右键,[属性]->[高级]->[环境变量]==> 添加一个环境变量: 变量名: MAVEN_OPTS ,变量值: -Xms256m -Xmx512m -Dfile.encoding=UTF-8 , (其实只要-Dfile.encoding=UTF-8这个就可以解决乱码了,另外两个可以不用.)

好了,Maven中编译时遇到JAVA直接写的中文乱码问题解决了.

2: 给服务器(包括开发员本地开发环境的电脑)设置环境变量(步骤就不说了,参数前面),添加一个环境变量: 变量名: nls_lang ,变量值: AMERICAN_AMERICA.AL32UTF8, 这样,所有的开发环境和发布环境都统一了,中文乱码问题也OK了 .......................


Tags: 乱码  JAVA  tomcat服务器  maven  
又一次成功解决Mysql乱码问题

以前在我的博客上发过文章总结我遇到的数据及网页上中文乱码的处理办法[再谈乱码问题,如何解决MYSQL数据中文乱码问题] [解决jsp,tomcat,MYSQL下中文乱码问题] ,但是,不幸的是,今天又遇到了,用过以前的办法,没能解决,我相信绝对不是网页的问题.因为,我在MYSQL里直接添加中文的数据能在网页上正常显示,可是在网页中操作添加的数据,到MYSQL数据库里一看,全是???问号.我下断点,跟踪进去看了,程序中最后处理到数据库操作时,还是中文,操作到数据库后,就是?问号了.后来找了很多资料,终于把这个问题解决,........

那怎么办呢,只要把那几个的编码改成utf8的,那应该就可以了.
1: 在Mysql的配置文件 my.ini (一般在c:/windows/下面) 里加上服务器的默认编码配置: default-character-set=utf8
2: 修改你的数据库的字符编码:进入Mysql数据库,通过命令修改你的数据库字符编码: ALTER DATABASE `databaseName` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci  (修改后需要重启Mysql数据库)
3: 如果你的表以及表里的字段使用了不正确的字符编码,同样需要修正过来:命令:
 修改表的编码: ALTER TABLE `tableName` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
 修改字段的编码: ALTER TABLE `tableName` CHANGE `dd` `dd` VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
(做好了时,再跑一下上面那两个查看字符编码的命令,看看是否全部都变成了utf8)

4: 如果还无效的话,再尝试使用这个MYSQL数据库连接字符串:  jdbc:mysql://localhost:3306/xxxx?useUnicode=true&characterEncoding=UTF-8 (有时可能需要将符号(&)转码写成(&))......


Tags: 问题  乱码  MYSQL数据库  
C#获取网页源码,自动判断网页字符集编码

最近开始打算重新学习C#,并且尝试做点C#练习。而最让我感兴趣的还是和网站相关的东西。那就做个获取网站源码,采集文章的功能吧。

根据网上的资料,使用WebClient来获取源码,很容易就能得到网页源码。但是,发现,不同网站的网页字符编码就不一样的,如何自动分别不同网站的字符编码,而正确解释网页中的汉字呢。在C#里,提供了丰富的工具类库,可以轻松的转码。但是,却发现不能自动获取网站上的字符编码而自动正确的解释源码,而导致汉字显示乱码。以前我也用JAVA做过这样的功能,获取网站源码,同样,在JAVA的各种获取网站源码的类库里,也不能自动根据网页字符编码自动正确解释编码,只能我们自己手动来做了。

我的解决办法是先采用系统默认的编码从stream里得到源码,再使用正则表达式获取源码中的[获取网页字符编码描述信息],这个信息,一般来说,网页里都会有的,在网页源码的<head>里,类似这样的代码:<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />(其实不一样完全这样,有些不规范的,没有双引号,或者最后面没有/闭合,所以,正则表达式得考虑周全些),从这个代码里来获取编码信息,再判断系统当前的默认编码是否和这个一样,如果不同,再使用网页中取到的编码来重新从stream里解释取得网页源码。

源码如下:(下面这段代码是一个完整的获取网页源码,且自动正确解释汉字)


Tags: C#  网页源码  CSDN  爬虫  乱码  
分页:[«] 1[»]
分类最近文章
    <#CACHE_INCLUDE_CATEGORY__HTML#>
Powered By Z-Blog   STYLE by busfly . FatMouse
Copyright © 2007 巴士飞扬技术博客. . 沪ICP备07027972号. 会员群1(J2EE为主):3769186.