struts2jsp:
<form action="addUser.action" method="post">
<table>
<tr><td colspan="3" style=" font-weight:700; text-align:center;">新增用户</td></tr>
<tr><td>用户名</td><td><input type="text" name="loginName"/></td><td></td></tr>
<tr><td>真实名字</td><td><input type="text" name="RealName"/></td><td></td></tr>
<tr><td>性别:</td><td><input type="radio" name="sex" value="男" checked/>男<input type="radio" name="sex" value="女"/>女</td><td></td></tr>
<tr><td colspan="3"><input type="button" value="提交" onclick="check();"/> <input type="reset" value="取消"/></td></tr>
</table>
</form>
如果用户名,真实姓名等列输入中文字符的时候,可以正常插入数据库且显示无问题。(请注意这条)但是对于radio,插入数据库的时候显示这样的问题:Incorrect string value: '\xE7\x94\xB7' for column 'sex' at row 1据了解,\xE7\x94\xB7' 是男的ascii值。
但是如果将value="男"改为value="0",则不会出现问题。这是怎么回事?
<form action="addUser.action" method="post">
<table>
<tr><td colspan="3" style=" font-weight:700; text-align:center;">新增用户</td></tr>
<tr><td>用户名</td><td><input type="text" name="loginName"/></td><td></td></tr>
<tr><td>真实名字</td><td><input type="text" name="RealName"/></td><td></td></tr>
<tr><td>性别:</td><td><input type="radio" name="sex" value="男" checked/>男<input type="radio" name="sex" value="女"/>女</td><td></td></tr>
<tr><td colspan="3"><input type="button" value="提交" onclick="check();"/> <input type="reset" value="取消"/></td></tr>
</table>
</form>
如果用户名,真实姓名等列输入中文字符的时候,可以正常插入数据库且显示无问题。(请注意这条)但是对于radio,插入数据库的时候显示这样的问题:Incorrect string value: '\xE7\x94\xB7' for column 'sex' at row 1据了解,\xE7\x94\xB7' 是男的ascii值。
但是如果将value="男"改为value="0",则不会出现问题。这是怎么回事?
解决方案 »
- 急!dorado 问题
- double精度问题
- myeclipse按alt+/是出现"Word Completion" did not complete normally. Please see the log for more information.
- 关于系统退出之后,浏览器刷新,系统又重新登录的问题
- jstl的超简单问题,马上结
- 绝对菜鸟级问题,,,但是困惑了好久!!!!
- 使用框架(如Hibernate与Spring)会让程序效率降低吗?
- 请帮,谢谢!
- applet 与 jsp 之间互相调用
- 要做中英文两套,这样的网站怎么设计?
- struts2值栈中获得值的问题
- 学习javaWeb必需要掌握的技术点(比如说Quartz,workFlow)等讨论下开始学
<tr><td colspan="3" style=" font-weight:700; text-align:center;">新增用户</td></tr>
最好格式化一下,
<tr>
<td>
</td>
</tr>
这样是否好看一点?
表是什么编码?
列是什么编码?
建议全部改成UTF-8,包括数据库、表、列名、工程、页面所有的!
jdbc:mysql://localhost:3306/test?characterEncoding=utf-8
最好在这个连接字符串后面加上字符编码。
写个filter,所有的乱码都解决了。
就差那个filter没配置了。不知具体是怎么回事?现在退而求其次了,改为了female和male。汗~~~
或字符串.getBytes("ISO-8859-1); 或 request.setcharacterEncoding("gbk");
另外像性别这样的字段不需要定义成汉字,可以英文或数字(char 1)
那你request和response的编码设置为UTF-8了吗??
解决乱码在几个地方要保证编码一致:
1.程序连接数据库的URL中设置连接的字符集。如
jdbc.xx..database?characterEncoding=gbk
2.在建数据库是要指定字符编码。
如:create database if not exists netctoss default character set gbk;
3.在进入数据库执行SQL脚本时指定字符集。
MYSQL中使用:mysql -u username -p password --defautl-character-set=gbk
保证以上几个地方的字符集一致,乱码问题是可以解决的
数据库、JSP、连接数据库、都是UTF-8
页面编码、数据库连接编码,数据库默认编码、 在数据库里面创建库和表的时候都指定同样的编码。推荐使用UTF-8,然后出现乱码的机会就小得多了。最后要小心的是,不要声明的编码和文件的编码不同,不然会死的很郁闷。包括你的JSP 和 一些XML
String strRet = null;
try {
strRet = new String(src.getBytes("ISO_8859_1"), "UTF-8");
} catch (Exception e) {
e.printStackTrace();
}
return strRet;
}