主题:中文字符问题
			 天地乾坤
				 [专家分:0]  发布于 2005-11-22 09:17:00
 天地乾坤
				 [专家分:0]  发布于 2005-11-22 09:17:00							
			用request.getParameter("XXX")能够得到中文字符,
但是把它插入mysql后,就变成了????.
请问这个问题怎么解决啊.谢谢了!
						
					 
		
			
回复列表 (共4个回复)
		
								
				沙发
				
					 SaviourJLF [专家分:380]  发布于 2005-11-22 09:58:00
SaviourJLF [专家分:380]  发布于 2005-11-22 09:58:00				
				以前回过好多遍了。jsp提交时会用iso8859_1对提交数据编码。所以,你getParameter之后要转回页面编码。
							 
						
				板凳
				
					 天地乾坤 [专家分:0]  发布于 2005-11-23 10:01:00
天地乾坤 [专家分:0]  发布于 2005-11-23 10:01:00				
				谢了大侠!能够实现向mysql插入中文字符了.但有遇到一个问题了.
在用表单显示内容时,中文字符又出现乱码了,
比如:软件名称:XXX
   软件属性:YYY
其中的XXX,YYY是从数据库里调出来的.(X,Y都是中文字符)
而软件名称,软件大小(就是这个表单)是写在javabean里的.
一张显示内容的JSP开头如果是<%@page contentType="text/html;charset=GBK"%>
则显示为:软件名称:???
     软件属性:???
如果是<%@page contentType="text/html;charset=ISO8859_1"%>
则显示为:????:XXX
          ????:YYY
请问这个是怎么回事啊?字符集都改遍了,还是没有整对.
							 
						
				3 楼
				
					 SaviourJLF [专家分:380]  发布于 2005-11-23 10:05:00
SaviourJLF [专家分:380]  发布于 2005-11-23 10:05:00				
				如果你确定从数据库里取出来以后是正常的,也就是数据库编码和页面编码是一致的或是兼容的。那你试着在html标签中打上一个<META http-equiv=Content-Type content="text/html; charset=gb2312">
用什么字符自己改。
<%@page contentType="text/html;charset=GBK"%>只给后台声明编码。在IE中的声名还多用META。
你还可以试一下,不改页面。在乱码页时,改一下IE的编码,应该也可以。
							 
						
				4 楼
				
					 天地乾坤 [专家分:0]  发布于 2005-11-24 08:58:00
天地乾坤 [专家分:0]  发布于 2005-11-24 08:58:00				
				谢谢大侠!!
  我通过把javabean里面的函数写出来,写在JSP里面,就没有问题了.字符集都是用的<%@page contentType="text/html;charset=ISO8859_1"%>.
							 
									
			
我来回复