我发现了一个从骨子里都是UTF-8编码写JSP程序的方法

fugdy 2007-01-12 11:36:27
我发现了一个从骨子里都是UTF编码写JSP程序的方法
大家有兴趣吗?还是早已经知道?
数据库,JSP文件,所有地方都是UTF-8,不用把编码转来转去
...全文
581 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
AllError 2007-03-09
  • 打赏
  • 举报
回复
utf-8如果要国际化就用它,没错
yeah920 2007-03-09
  • 打赏
  • 举报
回复
呵呵
  • 打赏
  • 举报
回复
呵呵,好暸,原来时filter写错了。。。
  • 打赏
  • 举报
回复
顶一下,我的页面,action,form都是utf-8的,但是用html:form提交,输出也是乱码,用request.setCharactorEncoding("utf-8"),用new String(str,"XXX"),在html:form中加 acceptCharset="utf-8"也不行,写个filter,连首页都打不开,不知道怎么回事?
还有就是,我想utf-8再长,也不会对程序怎么样吧?更何况它也不是很长
fugdy 2007-01-30
  • 打赏
  • 举报
回复
有没有星星说一下话呀,
fugdy 2007-01-30
  • 打赏
  • 举报
回复
下面是我在CSDN的提问,
?我发现了一个从骨子里都是UTF-8编码写JSP程序的方法(fugdy)
?请教中文判断问题(fugdy)
?rcould not alloc node id(fugdy)
?COULD NOT ALLOC NODE ID(fugdy)
?如何两台机做mysql群集----现实应用,不是实验(fugdy)

说实话,我在CNSD好多年了,几乎没有在这里得到过解答。大家都喜欢回答1+1等于多少,1+(2*)就没人回答的了,因为它需要动手去做,才知道结果,而大家都喜欢看一下,会就答,不会就跳过,这样就会造成简单的多人回答,复杂一点的(注意,只是复杂,并不一定是难)都没人理。
虽然是这样,但我总是会抱一丝希望在这问一下,但总是失望,好失望。

以下是我在私人WIKI的总结,希望有人喜欢
不定义method属性的form会产生乱码
大勇, 30-January-07 (created 30-January-07)
请看以下代码

-----a.sjp-------
<html><form action="b.jsp"><table>
<tr><td><input type="text" name="name"></td></tr>
<tr><td><input type="submit"></td></tr>
</table></form><html>
--------b.jsp-----------
<html><%=request.getParameter("name")%></html>

无论怎么样,a.jsp传给b.jsp的中文一定会是乱码.原因很简单form没有定义method的属性,只要在FORM中加上这句method="post"就可以了。
我测试过乱码的情况包括:
一:
1:WINXP_chs+JDK5.0+NETBEAN5.5+TOMCAT5.5.20+IE6
2:WINXP_chs+JDK5.0+Eclipse+TOMCAT5.5.20+IE6
3:WINXP_chs+JDK5.0+TOMCAT5.5.20+IE6 直接把源文件放到tomcat5.5.20的webapp目录,新建一个APP也是乱码

二:
4:即使在源代码加上以下代码,再重复上面的三个测试环境也是不行的

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>


三:
5:把浏览器换成firefox也是不行的

足足花了一个星期才得出这个结果。
fugdy 2007-01-29
  • 打赏
  • 举报
回复
syoumei(良匠不择器)
我确实不知道你所说的问题,但是我的项目很小,有必要这样麻烦自己吗?

knot(在路上)
我真的不知道空间有这么重要。
真的这么重要吗?

好多东西都没有绝对是吧。大家都在衡量好处多还是坏处多。而我自己觉得UTF8好,就用它咯,这理由满意吧。
而且我很高兴我非常好运,自己是JAVA公司目标客户之一,如果用GBK好处这么多,如果用GBK的公司这么多,为什么JDK和好多其它外国软件都还是选了UNICOD呢?我真是不知道为什么,我不是专业写软件的,如果你们知道请告诉我(我很衷心的提问,绝无吵架的意思)

回到正题,谁会我的问题呀
knot 2007-01-29
  • 打赏
  • 举报
回复
很多大公司为什么现在还在使用jdk1.4,你以为new String一下写程序的人很乐意么?
syoumei 2007-01-29
  • 打赏
  • 举报
回复
你知道Utf-8是什么东西吗

你知道UTF-8是变长的吗

你知道一个以中文为主要存储对象的系统,采用UTF-8占用得空间比用gbk的要多几个百分比吗
fugdy 2007-01-29
  • 打赏
  • 举报
回复
你没看到这一行吗?
2:安装数据库的时候选择默认语言UTF-8,或着创建表的时候指定语言为UTF-8,这样保证数据库存储和处理

我是经过调试后发现问题在这一步,数据还没有被处理就已经乱码,所以想到这样的测试程序,而不是只想到这一步。
syoumei 2007-01-29
  • 打赏
  • 举报
回复
你倒是简单了 有没有想过存储问题
fugdy 2007-01-29
  • 打赏
  • 举报
回复
本来我发现的方法是这样的:WINXP PRO简体中文版+JDK1.5+ECLIPSE3.2+tomcat5.5.20
使用UTF-8的方法:
1:使用eclipse的时候,菜单Project->Info->"text file encoding"->UTF-8
这样可以保证工程所有字符的编码都是UTF-8,包括html代码里面的中文。
2:安装数据库的时候选择默认语言UTF-8,或着创建表的时候指定语言为UTF-8,这样保证数据库存储和处理是utf-8
3:写一个过滤器,url-maping设置为/* ,在dofilter里写两句话就可以了
arg0.setCharacterEncoding("UTF-8");
arg2.doFilter(arg0, arg1);

但是最近我的方法不灵光了,事发是在大约两个星期前,可能因为台湾光纤的问题,eclipse建一个WEB PROJECT要好久,而且好像SUN的DTD也出了问题,所以我正在进行的项目换了用NETBEAN,在netbean中开发了一星期都没什么乱码问题,但是一发布到应用服务器上(WIN2003中文版,tomcat5.5.20,jdk1.5)就发现不行,从网页提交的全是乱码.

测试环境:winxpPro 简体中文版+jdk1.5 +eclipse+tomcat 5.5.20
页面源代码是是UTF-8编码保存的,方法是在eclipse中edit->set Encoding设置为UTF-8.
以下两个页面的代码是把一个中文字传到B页面后不加处理直接回显,但是会出乱码。无论是在Eclipse里或着是直接把代码放到TOMCATE根目录下,都是乱码,请问有人知道原因吗?
但是在netbean5.0里使用它自带的tomcat5.5.17,并设置编译参数为-encoding UTF-8,就没有这个问题,
我不希望在项目中使用GBK之类的编码,请大家指教
-----------------a.jsp-----------------------------------------------------

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%request.setCharacterEncoding("UTF-8"); %>
<html>
<head>
<meta http-equiv="Content-Type" content="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="b.jsp">
<table>
<tr>
<td><input type="text" name="Name" value="我"></td>
<td><input type="submit"></td>
</tr>
</table>
</form>
</body>
</html>


----------------------------------------b.jsp---------------------------------------------

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%request.setCharacterEncoding("UTF-8"); %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%=request.getParameter("Name") %>
</body>
</html>


fugdy 2007-01-12
  • 打赏
  • 举报
回复
是呀,现在无论从数据库,还是编译软件,都是用UNICO的了,我看到网上一些方法就教人把这些都返过来,转成GB2312,我觉得这样真是无聊,而且浪费了人家设计软件时使用UTF-8的好意。
shine333 2007-01-12
  • 打赏
  • 举报
回复
不一定都是u8,反正到处都一样,“编码转来转去”“到处new String(..., ...)”这种属于白痴行为
内容概要:本文研究了基于QLearning自适应强化学习的PID控制器在自主水下航行器(AUV)中的应用,通过Matlab代码实现了对水下机器人的动力学建模与运动控制。重点探讨了将强化学习算法QLearning与传统PID控制相结合的方法,以提升AUV在复杂、时变及非线性水下环境中的自适应控制能力。文中系统分析了AUV的运动学与动力学特性,阐述了传统PID参数整定面临的挑战,并提出采用QLearning算法在线动态优化PID控制器的比例、积分和微分参数,从而实现对系统误差、响应速度、超调量等性能指标的综合优化。通过Matlab仿真实验验证了该复合控制策略在轨迹跟踪精度、抗外部干扰能力和系统鲁棒性方面的显著优势,充分展示了强化学习在智能水下装备自主控制领域的可行性和应用潜力。; 适合人群:具备自动控制理论基础、强化学习基础知识及Matlab编程能力的研究生、科研人员和自动化、海洋工程、机器人等相关领域的技术研发人员。; 使用场景及目标:①用于水下机器人、无人潜航器等智能移动装备的高精度运动控制系统设计与开发;②开展强化学习与经典控制理论融合创新的教学案例与科学研究;③解决传统固定参数PID控制器在面对模型不确定性和环境扰动时适应性差、控制性能下降的关键问题。; 阅读建议:建议读者结合提供的Matlab代码进行仿真实践,重点关注QLearning算法中状态空间、动作空间的设计逻辑以及奖励函数的构建原则,深入理解其在参数寻优过程中的作用机制,并可通过调整环境参数和初始条件来测试算法的鲁棒性与泛化能力。

23,404

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧