java乱码补充 : 移植乱码 问题

上一篇:
jquery ajax struts2 数据库等中文乱码问题解决大全
问题还有遗落这里补充上来。

很多这样的项目:开发环境是windows 但是运营环境是linux  本来好好的代码放到Linux 上就乱码了。
那么就要注意 你的代码中是否出现了这样的代码:这里以 HttpClient 为例:

public static boolean postMethodBoolean(String uri,String info){
		boolean backInfo = false;
		HttpClient client = new DefaultHttpClient();
		HttpPost post = new HttpPost(uri);
		
		post.setHeader("Content-Type", "text/html:charset=UTF-8");
		
		if(null != info && info.trim().length() != 0){
			post.setEntity(new ByteArrayEntity(info.getBytes()));
		}
		
		try {
			HttpResponse response = client.execute(post);
			
			int statuCode = response.getStatusLine().getStatusCode();
			
                         .............



这里已经设置了 http 传输中的head 里面的字符编码,是utf-8 以为就不会乱码了。
其实真正的问题 是在:
post.setEntity(new ByteArrayEntity(info.getBytes()));


getBytes();是按默认机器编码方式进行的,换了环境 乱码产生出来就不怪了!

改正成
post.setEntity(new ByteArrayEntity(info.getBytes("utf-8")));

你可能感兴趣的:(httpclient,linux,乱码)