Java乱码问题解决方法

标签:

很多开发人员在开发过程遇到乱码问题,我整理了一下解决方法:  乱码的根本原因就是因为编码格式不一致引起的,每一种编码规则都有一套自己的字符集,用A编码规则中的一个字符值去映射B编码规则,映射的结果当然不是我们相要的了,数据库、JDBC连接以及jsp页面都要指定编码规则,确保这三个编码规则一致即可解决乱码问题,下面我们以utf-8格式进行举例说明:

1.数据库
  数据库的默认编码规则是ISO8859-1,当然在创建数据库时可以设置charset为utf-8,如果不指定charset也没有关系,可以在jdbc连接url对charset进行设置。

2.jdbc
  常用postgresql的数据库连接url=jdbc:postgresql://localhost:5432 /suzhoumis?charset=utf-8,最后通过charset=utf-8进行编码转换,如果数据库的编码格式就是utf-8,那最后的 charset=utf-8就可以省略。

3.jsp页面
  jsp页面上通过<%@ page contentType=”text/html;charset=UTF-8″ language=”java” %>对编码进行设置,当在页面上显示的一些变量值的时候,如果变量值的编码规则和页面上的不一样,那变量就会被解释成乱码。该例中jdbc拿到的数据都是utf-8的格式,页面上也是UTF-8,所以可以正常显示,如果页面上改成gb2312,变量在页面上就会显示乱码。

NetBeans IDE 6.5 RC 2 发布

NetBeans IDE 6.5 的第二个候选版本发布。这个版本同样是支持多语言版本,包括:简体中文,日语和巴西语等。NetBeans IDE 6.5的主要优势是简单快速开发web应用,企业应用和桌面应用,并且支持PHP, JavaScript, Java, C/C++ , Ruby, 和 Groovy。NetBeans IDE 6.5新增了对PHP的强大支持,firefox和IE的JavaScript debugging,支持Groovy 和 Grails,以及增强Java,Ruby 和Rails,C/C++开发效率。
关于Java值得注意的功能包括:内建对Hibernate, Eclipse 项目导入,编译和保存的支持。
最终的NetBeans IDE 6.5计划在08年11月发布。
点击这里下载NetBeans IDE 6.5 RC 2 :http://download.netbeans.org/netbeans/6.5/rc/

Ubuntu新版性能大幅增强 支持虚拟化技术

  对一些人来说,Linux操作系统只是专利性商业系统以外的另一选择。而对Ubuntu Linux及其最新的Intrepid Ibex版本来说,它的涵义还包括更多的功能,扩大了产品的可用性和使用效率。

  美国时间上周四发布的Intrepid Ibex即Ubuntu version 8.10的开发代号,其中包含多种针对Linux台式机及服务器用户的新特性。这些新增的特性包括网络、虚拟化、安全和用户管理增强几个方面。

  这个新版本出现的时间对这款备受关注的热门Linux产品来说十分关键。Ubuntu的商业赞助商Canonical声称这项产品现有用户超过800万,可惜还未能实现商业盈利。

  这次的发布还是该项目今年的第二个新版本,上一次是四月时的Hardy Heron。此外,这次的发布在产品发布周期上也超越了其他竞争对手,例如Red Hat Fedora 10和Novell OpenSUSE 11.1,后两者都预定于2008年底前推出新版本。

  “及时推出Ubuntu 8.10都是为了拥抱互联网和支持当前的移动潮流,”Canonical的商业开发总裁Chris Kenyon对InternetNews.com说。“通过向开源社区更广泛地了解他们对于无线局域网(Wi-Fi),尤其是关于3G网络连接问题的意见,我们做出了多项重大更新。”

(全文…)

CSV文件的列顺序不固定式入库

1.CSV文件的第一行是title并非数据
2.CSV文件的列顺序不是固定的,也许可能是 title-a,title-b,title- c也可能是title-b,title-a,title-c

<?php
$filename = ‘SampleTech.txt’;
@$datafile = file($filename); //把文件读取成数组
$datas = $title_array = array();
if(is_array($datafile)) {
foreach($datafile as $data) {
  $datas[] = $data;   //把数组存在$datas数组中
}
}
//处理title
$title_array  = explode(“\t”,array_shift($datas)); //将数组开头的单元移出数组
foreach($title_array as $key => $value)
{
$title_array[$key] = str_replace(“\r\n”,”",mb_strtolower(str_replace(” “,”",$value))); //替换空格和 (全文…)

PHP中str_replace函数的详解

      在实际的程序开发中,执行字符串替换操作是一件非常经常的事,对str_replace函数的实用也会非常频繁。
      这段时间在看《PHP和MySQL Web开发》一书看到str_replace讲解,一段小提示写到:可以为str_replace的三个都使用数组传入,但讲解比较简单,于是决定自己的试验一下该函数在各个参数传入数组时的执行结果。
      函数原型:mixed str_replace(mixed needle,mixed new_needle,mixed haystack[,int &count]);
      needle:要被替换的字符串,new_needle:替换用的字符串,haystack:操作字符串,count:替换次数【可选参数】
     我们重点试验前三个在使用数组是的执行方式:
   
      在都不使用数组时,该函数直接使用new_needle替换所有的needle并返回替换后的字符串。如:str_replace(“m”,”n”,”my name is jim!”)返回ny nane is jin!

    (全文…)

微软为PHP提供的SQL Server 2005驱动

  微软最近发布了专为PHP所用的SQL Server 2005驱动(SQL Server 2005 Driver for PHP)1.0版。

  这一驱动的目的是在PHP和SQL Server 2005之间提供更强大的交互功能:SQL Server 2005 Driver for PHP是PHP 5的一个扩展,用来访问SQL Server 2005。这一扩展为所有的SQL Server 2005版本(包括速成版),提供了一个数据访问编程接口。SQL Server 2005 Driver for PHP API提供了对Windows认证、交易、参数绑定、流、元数据访问和错误处理的支持。(MSDN)

  该驱动现在可以从微软网站上下载。MSDN另外还提供了一个应用示例和详细文档。

  (全文…)

java 正则表达式

1。^\d+$  //匹配非负整数(正整数 + 0)
2。^[0-9]*[1-9][0-9]*$  //匹配正整数
3。^((-\d+)|(0+))$  //匹配非正整数(负整数 + 0)
4。^-[0-9]*[1-9][0-9]*$  //匹配负整数
5。^-?\d+$    //匹配整数
6。^\d+(\.\d+)?$  //匹配非负浮点数(正浮点数 + 0)
7。^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$  //匹配正浮点数
8。^((-\d+(\.\d+)?)|(0+(\.0+)?))$  //匹配非正浮点数(负浮点数 + 0)
9。^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$  //匹配负浮点数
10。^(-?\d+)(\.\d+)?$  //匹配浮点数
11。^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
12。^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
13。^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
14。^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
15。^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串
16。^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$    //匹配email地址
17。^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$  //匹配url
(全文…)

微软的色情模式浏览器

冲着色情模式把IE8下载了下来,打开一看还是一样的ugly,然后就想起来一个不是很恰当的比喻,微软花了很大的力气去织了一匹布,据说有防水防火透气防手机辐射等诸多先进功能,但是做出来的衣服非常的难看,像是三流小裁缝的作品,IE8给我的印象就是这个样子。相比之下,Mozilla更把用户放在了心上,不说别的,在Firefox3里那个左上角大大的后退按钮就非常非常的人性化,实际使用的时候,用到后退按钮要比用到前进按钮的几率大的多得多,至少我自己是这样。还有,虽然微软鼓吹IE8多标签浏览多么先进,但是为什么每次点一个链接默认总是在新的窗口打开呢,开发人员的脑袋都锈逗了吗?还有刚发布的时候居然自家的服务Live mail都不支持,真是服了you了,微软。看来重整当年的雄风已经不可能了,IE已经微软了。

PHP5盗链函数(referfile)

标签:

功能:任何以‘HTTP_REFERER’为主要特征的防盗链技术将通通失效,顷刻间便灰飞烟灭。

<?php
/**
@title:PHP5盗链函数
@author:axgle
@filename:referer.php
@contents:This is a demo that show referer made success
*/

if($_GET['id']) {
        echo $_SERVER['HTTP_REFERER'];
} else {
        echo referfile(‘http://localhost/referer.php?id=1′,’http://axgle.is.good/’);
       
}

(全文…)

基本数据结构和php内置函数

标签:

//——————–
// 基本数据结构
//——————–

//二分查找(数组里查找某个元素)
function bin_sch($array, $low, $high, $k){
if ($low <= $high){
$mid = intval(($low+$high)/2);
if ($array[$mid] == $k){
return $mid;
}elseif ($k < $array[$mid]){
return bin_sch($array, $low, $mid-1, $k);
}else{
return bin_sch($array, $mid+1, $high, $k);
}
}
return -1;
}
(全文…)