背景:一个Maven项目,在resource下有一个数据文件(.dat),程序中需要读取这个文件。在编译后,读取失败,md5验证后发现文件变了,出现了乱码。
背景:一个Maven项目,在resource下有一个数据文件(.dat),程序中需要读取这个文件。在编译后,读取失败,md5验证后发现文件变了,出现了乱码。
现在很多应用都是用纯真地址库,如果是要求不高的应用,也可以尝试使用一下MaxMind,个人感觉够用了,但是服务是在国外,访问可能时间长一点。 链接:http://freegeoip.net/ Make HTTP GET requests to:http://freegeoip.net/{format}/{ip_or_hostname}
我在分析爬下来的HTML的时候,希望删除掉某段内容中的所有的空白字符,也就10几个字。于是用了Commons包里的工具方法,但是有时却剩一个空白字符,注意,是“有时”。也就是说,有时全部空白字符都没有了,如预期一样,有时却还剩一个。看了看工具方法的源码,也没发现什么问题,毕竟是全球都在用的Commons。然后我仔细看了HTML源文件,也没看到什么异常。存到数据库之后这个空白符变成了乱码。 于是我自己实现了一个剔除空白符的方法,现象还是这样。甚至Trim都不可以。 后来在公司一个前辈的指点下,让我把这个空白字符的ASCII打出来,发现问题了。这个空白字符的ASCII根本不是32,而是160,Google了一下对于这个字符不同浏览器会有不同显示,基本就是当不当是一个空格的区别。 至于“有时”,可能就是多台服务器上的数据不一致吧,因为这个有时的频率基本是固定的。 解决办法就是替换其中的ASCII为160的字符。 附两篇他人文章:
本来是想研究Annotation的,Java有APT,但是感觉Spring用的肯定不是APT,就顺手看了Spring MVC处理annotation的处理过程,从RequestMapping开始入手,大致分享一下Spring处理Annotation的过程。其他大致也差不多吧(我猜想)。
最近,突发奇想,想把工作中遇到的问题和大家分享出来。自己没有牛到贡献一个开源项目,但是,有多少就贡献多少吧。 废话不多说。第一次分享的是Heritrix的乱码解决。 根据官方文档或者是一些blog,可以很轻松的配出一个可以运行的heritrix,基于web的管理页面也十分简单。但是中文乱码问题却很少有提及,就算提及,也是一句话,和没说一样。 目前Google、Baidu上能搜到的,大多是Heritrix 1.X的内容,heritrix 3.x的比较少,而这两个版本的结构貌似差的挺大,所以在Heritrix3上遇到的很多问题就得靠自己了。 heritrx 3 首先会去根据服务器返回的Content-type去获得编码。