如何解决java编译乱码问题,java 字符串乱码怎么解决?
java中乱码的解决办法
对于Java,由于默认的编码方式是UNICODE,所以用中文也易出问题,常见的解决是:
字符串s2=新字符串(s1.getBytes("ISO-8859-1 ")," GBK ");1、utf8解决JSP中文乱码问题
推荐教程: 《java学习》
一般说来在每个页面的开始处,加入:
% @ page language= Java content type= text/html;charset=UTF-8 页面编码= UTF-8 %
% @ page language= Java content type= text/html;charset=UTF-8 页面编码= UTF-8 %
%请求。setcharacterencoding(“UTF-8”);%charset=UTF-8的作用是指定JSP向客户端输出的编码方式为“UTF-8”;
页面编码= UTF 8 ,为了让JSP引擎能正确地解码含有中文字符的JSP页面,这在Linux操作系统操作系统中很有效;
请求。setcharacterencoding(“UTF-8”);是对请求进行了中文编码。
有时,这样仍不能解决问题,还需要这样处理一下:
字符串msg=请求。getparameter(“message”);字符串str=新字符串(msg.getBytes(ISO-8859-1 ), UTF-8 );出去。println(ST);2、Tomcat 5.5中文乱码
只要把%TOMCAT安装目录%/WEB apps \ servlet-examples \ we b-INF \ classes \ filters \ setcharactercodingfilter。班级文件拷到你的网页应用目录/过滤器下,如果没有过滤目录,就创建一个。
2)在你的web.xml里加入如下几行:
过滤器
过滤器名称集字符编码/过滤器名称
过滤器-类别过滤器setcharactercondingfilter/filter-class
初始化参数
参数名称编码/param-name
参数值英镑/参数值
/init-param
/过滤器
过滤映射
过滤器名称集字符编码/过滤器名称
全球资源定位器(Uniform Resource Locator)模式/*/url模式
/过滤器-映射3)完成
2、获得方式的解决办法
1)打开雄猫的server.xml文件,找到区块,加入如下一行:
URIEncoding="GBK "完整的应如下:
连接器
port= 80 maxThreads= 150 minSpareThreads= 25 maxSpareThreads= 75
启用查找= false 重定向端口= 8443 接受计数= 100
调试=0 连接超时=20000
disableUploadTimeout=true
URIEncoding=GBK
/2)重启雄猫,一切好的。
3、xmlHttpRequest中文问题
页面jsp用的商业版编码
代码:
%@页content type= text/html;charset=GBK%javascript部分
代码:
函数addFracasReport() {
var url= controler?actionId=0 _ 06 _ 03 _ 01 action flag=0010 ;
var urlmsg= report id= fracas报告1。文本报告id。价值;//故障报告表编号
var xmlHttp=commoncreatexmlhttprequest();
xmlHttp。onreadystatechange=common。getreadystatehandler(xmlHttp,
eval( turnalyapage );
xmlHttp.open(POST ,url,true);
xmlhttp。setrequestheader( Content-Type ,
application/x-www-form-urlencoded);
xmlhttp。发送(urlmsg);
}
#p#后台爪哇岛中获得的reportId是乱码,不知道该怎么转,主要是不知道xmlhttp。发送(urlmsg);以后是什么编码?在后面用爪哇岛来转,试了几种,都没有成功,其中有:
代码:
公共静态字符串UTF_8ToGBK(字符串str) {
尝试{
返回新字符串(str.getBytes(UTF-8 ), GBK );
} catch (Exception ex) {
返回空
}
}
公共静态字符串UTF8ToGBK(字符串str) {
尝试{
返回新字符串(str.getBytes(UTF-16BE ), GBK );
} catch (Exception ex) {
返回空
}
}
公共静态字符串GBK(字符串str) {
尝试{
返回新字符串(str.getBytes(GBK ), GBK );
} catch (Exception ex) {
返回空
}
}
公共静态字符串getStr(字符串str) {
尝试{
String temp _ p=str
String temp=新字符串(temp _ p . getbytes( GBK _ 1 ), ISO8859 );
temp=sqlStrchop(temp);
返回温度;
} catch(异常e) {
返回null
}
}以上是java中乱码的解决细节。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。