-
SSH和mysql中的中文乱码问题30
本人现在正在做一个SSH(struts+spring+Hibernate)项目,数据库使用mysql。
mysql中的字符集用latin1,即iso-8859-1,因为数据库是网上服务器的,不能改变其编码。
在Eclipse中使用的是utf8的编码。
现在网页向数据库插入中文信息时,数据库保存的都是问号(?)。
请问各位大侠们,怎么向数据库插入中文?
谢谢各位了...2010年4月02日 01:14
19个答案 按时间排序 按投票排序
-
在遇到中文的时候我的思路是在进数据库时 先统一编码为iso 8859-1 然后再将编码的数据存到数据库中, 在取数据的时候 ,可以先把取出来的数据转换为需要的编码 ,然后就不会出现乱码了...
2010年4月16日 14:56
-
在插入到数据库时,使用一个过滤器,实现将utf-8的转换成ISO-8859-1,等读取数据库后再用一个过滤器将ISO-8859-1的转换成utf-8;
2010年4月16日 13:31
-
jdbc:mysql:///xxx?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
2010年4月15日 18:54
-
<property name="connection.useUnicode">true</property> <property name="connection.characterEncoding">UTF-8</property>
我是在配置文件中加入这些来完成的。2010年4月13日 17:04
-
我也遇到过类似的问题,想的头痛,这是我在网上找的一点资料,希望对你有所帮助!
两次编码两次解码:
首先如果不编码,那些非英文abc等字符会被浏览器按照网页当前的字符集进行编码传到服务器去, 而服务器则只会按照服务器配置的字符集编码(有默认的好像就是ISOxxxx)进行解码,所以如果网页的字符集和服务器字符集解码一致那么就不会出乱码!
但是往往对于我们来说是不一致的。所以一般情况会出现乱码, 所以就有人想到用encodeUri来进行编码再发送到服务器,但是要注意encodeUri来编码是以utf-8来进行编码的,而服务器对于url里面的非abc等字符进行解码几乎默认都不是utf-8
所以如果你encodeUri一次的话,通过request.getParam...而得来的是被服务器以另外一种(一般是ISO...)编码解码得到的.所以通过utf-8编码过后再通过ISO解码当然获得的是乱码, 即使你通过decode(xxx, 'utf-8')获取之后的也不对,因为这个过程是 utf-8编码 ---- iso解码 ----- utf-8解码,这个过程当然不对了哦!
而通过两次编码再通过两次解码为什么就对了呢, 她是这么一个过程 utf-8编码-utf-8编码 --- ISO解码 ----utf-8解码。
在这里要注意 因为通过第一次utf-8编码之后的都全是英文字符了,对于英文字符 utf-8编码 和ISO编码是一样的效果
所以上面的过程就相当于 utf-8编码-ISO编码 --- ISO解码 ----utf-8解码 这样一个过程是对称的当然最后会得到正确的结果了2010年4月13日 15:17
-
..latin1.存中文..无比的蛋疼
http://topic.csdn.net/u/20091028/17/02488fa9-4b4e-4b20-9ac9-5d072c79038c.html2010年4月13日 10:26
-
第一,检查数据库Mysql中表的字符集
第二,检查数据连接池配置的字符集
第三,JSP设置的字符集
第四,为struts添加一个过滤器(http://robert-liu.iteye.com/admin/blogs/623964)
以上的字符集要保持一致,最好使用UTF-82010年4月13日 09:29
-
总结如下:
如果建表的时候可以选择字符集(UTF-8、GB2321、GBK),那么就选择中文字符集,Hibernate表连接的时候也要选择,问题解决。
如果建表的时候不能选择字符集,那么向数据库插入数据时,首先先转成iso-8859-1,读取的时候在转回来,貌似ISO-8859-1与中文字符集转换会有丢失,这块记的不是很清楚,实现的话用filter就可以了
总的来说如果是网上的数据库,肯定能建表,建表一般都能设定字符集,写SQL的时候在每个表上添加字符集就行了2010年4月11日 17:59
-
连接MYSQL中文是乱码怎么解决啊 http://www.phome.asia/forum/thread/8338.html
(实用)JSP,mysql,tomcat下(基于struts2)中文及其乱码问题的解决 5大配置点 使用UTF-8编码 http://www.phome.asia/forum/thread/16991.html
修改spring+hibernate+struts2应用mysql数据库乱码问题(转载)
http://www.phome.asia/forum/thread/16195.html2010年4月06日 16:49
-
insert into nasa2.M_CERT([CERT_TYPE_ID],[CERT_CD],[CERT_NAME],[COMPANY_ID],[CREATE_USER_ID],[CREATE_DATETIME],[UPDATE_USER_ID],[UPDATE_DATETIME],[DELETE_FLG],[EXPIRATION_DATE]) values (1400,'9533546200',N'SAP認定ソリューションコンサルタント 2004 SAP 内部統制ソリューション',200,3,getdate(),3,getdate(),'0',null);
试试插入汉字的sql,中文字段前加个N,转换Unicode编码,SQLserver这样行。2010年4月02日 17:33
-
修改spring+hibernate+struts2应用mysql数据库乱码问题(转载)
http://www.phome.asia/forum/thread/16195.html2010年4月02日 17:11
-
如果数据库的编码没法改变的话,建议建表的时候,把表的charset写成utf8:
CREATE TABLE testme ( ID varchar(32) NOT NULL, NAME varcar(100) ) ENGINE=InnoDB DEFAULT CHARSET=utf8
数据库连接url按如下方式写:url=jdbc:mysql://localhost:3306/testme?useUnicode=true&characterEncoding=utf-8
2010年4月02日 10:56
-
引用mysql中的字符集用latin1,即iso-8859-1,因为数据库是网上服务器的,不能改变其编码。
在Eclipse中使用的是utf8的编码。
现在网页向数据库插入中文信息时,数据库保存的都是问号(?)。
请问各位大侠们,怎么向数据库插入中文?
1 你这个问题比较麻烦,原则上数据库能用UTF-8就好了,但是你说不能改。
2 对含有中文的字段,你只能把UTF-8转换成字节流,保存到数据库里,这时你在数据库看到的不是?,但是也不是中文,只是字节流。在从数据库取出这些字段的时候,把字节流转换成UTF-8编码。
3 如果这样做,需要写一个文档,在文档中注明使用这种方法处理的字段列表。2010年4月02日 09:41
-
加一个过滤器试下吧
1.建一个类:
package org.jb.common.filter;
import javax.servlet.Filter;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.FilterChain;
import java.io.IOException;
public class SetCharacterEncodingFilter implements Filter {
protected FilterConfig filterConfig;
protected String encodingName;
protected boolean enable;
public SetCharacterEncodingFilter() {
this.encodingName = "GBK";
this.enable = false;
}
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
}
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain)
throws IOException, ServletException {
request.setCharacterEncoding("GBK");
chain.doFilter(request, response);
}
public void destroy() {
}
}
2.web.xml配置加
<filter>
<filter-name>encodefilter</filter-name>
<filter-class>org.jb.common.filter.SetCharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>encodefilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>2010年4月02日 09:07
-
1. 安装mysql的时候,会选择默认的字符集,请选择utf-8,因为utf-8才是王道.
2. 如果你不想改字符集,那么建议你把数据表的字符集改为utf-8或者是gbk,建议utf-8.
3. 如果你不介意数据库乱码,在取出数据的时候你可以加上 mysql_query("set names gbk")这样就可以将乱码的中文正确显示.
4. 要避免乱码,你一定要保证字符集的一致性.从你的数据库,数据表,以及你输出的页面.尽量使用utf-8.
这也是我在网上看到的,我觉得还行2010年4月02日 08:34
相关推荐
通过以上步骤,可以解决 SSH 下 MySQL 中文乱码问题,确保数据的正确存储和读取。 需要注意的是,在解决中文乱码问题时,需要统一使用 UTF-8 编码方式,以避免不同编码方式之间的冲突。同时,在使用 Hibernate 连接...
通过以上步骤,可以基本解决MySQL、JSP和SSH框架集成网站开发中的中文乱码问题。在实际开发过程中,要根据项目的具体情况进行调整和测试,确保每个环节都正确处理了字符编码。如果你遇到了特定的问题,可以进一步...
数据库是我们软件开发中一个非常重要的组成部分,以前小编使用的是SQL Server,没有遇到过存储的中文是乱码的情况,后来在ssh的项目中使用的是MySQL的项目,遇到了乱码的问题,只要向数据库中存储中文数据会是...
在使用MySQL与SSH框架进行开发过程中,中文字符的乱码问题是非常常见的。尤其是对于新手开发者来说,这一问题可能会耗费大量的时间与精力去解决。本文将详细介绍如何在MySQL数据库及SSH框架中正确设置字符集,以解决...
### Linux SecureCRT 查看 MySQL 中显示乱码的问题解析与解决方案 #### 一、问题背景及描述 在使用SecureCRT连接Linux服务器并通过MySQL客户端查询数据时,可能会遇到字符集不匹配导致的数据显示乱码问题。例如,...
通过以上步骤,我们可以全面地解决Redhat Linux中的中文乱码问题,无论是对于控制台还是X Window系统,都能确保中文字符能够正确显示。此外,还可以根据实际需求调整语言环境设置,以满足不同的应用场景。如果还有...
在Java和MySQL交互时,有时会遇到中文乱码问题,这通常是由于编码不一致或配置不当导致的。这里我们将深入探讨如何解决这个问题,主要涉及SSH(Spring、Struts、Hibernate)框架下的设置以及MySQL数据库的相关配置。...
在使用Mac OS操作系统中,MySQL数据库处理中文数据时可能会出现乱码问题,这通常是由于编码设置不一致导致的。本文将详细介绍如何解决Mac Mysql数据库中的中文乱码问题。 首先,当我们在Java等编程语言中使用框架...
本文主要介绍如何解决SSH框架中的中文乱码问题。针对不同的应用场景,我们可以通过以下几种方式来解决: #### 1. 强制转换字符集 在Java程序中,可以采用直接对字符串进行编码转换的方式来解决乱码问题。例如,当...
在描述中再次强调了这一特性,暗示SQLyog的新版本可能已经解决了过去可能存在的中文乱码问题。 在数据库管理中,中文乱码通常是由字符编码不匹配导致的。例如,数据库、表或字段的编码设置与数据的编码不一致,或者...
当你在命令行、MySQL客户端或远程SSH工具(如SecureCRT)中输入中文字符并观察到乱码时,首先要确认客户端和MySQL服务器之间的编码设置。可以使用SQL命令`SHOW VARIABLES LIKE 'character\_set\_%';`来查看当前的...
然而,在实际操作中,开发者经常会遇到一个问题:当用户在前端使用中文输入时,这些数据在后台存储到MySQL数据库中可能会出现乱码。这个问题涉及到多个层面,包括编码设置、数据库配置以及框架的配置等。本文将详细...
在提供的"乱码处理"标签中,我们可以推测这个压缩包可能包含了一个自定义的Java类或组件,用于处理SSH框架下的乱码问题。这个类可能会覆盖上述的一些关键步骤,或者提供更便捷的解决方案来统一处理乱码问题。 总的...
我自己做项目中遇到了不少...(1)解决MYSQL乱码问题 (2)传递参数中文乱码 (3)jsp导包问题 (4)Hibernate基于外键的查询方法 (5)Hibernate Session中的 flush方法的作用 (6)分析java.lang.OutOfMemoryError PermGen space
对于中文乱码问题,可以使用`native2ascii`工具将资源文件转换为GBK编码。创建一个批处理文件,执行这个转换过程,确保在IDE中设置正确的编码格式。 完成上述步骤后,SSH框架的基本结构就搭建好了。接下来,我们...
在日常的数据库管理和维护中,选择一款好用的MySQL管理工具至关重要。"最好用的连接MySQL的管理软件"无疑能极大地提高工作效率,特别是对于处理字符编码问题和提供快速操作体验。 在数据库管理中,"乱码"是一个常见...
- **MySQL与JSP网页中文乱码解决**:通过设置正确的字符集来避免中文显示乱码的问题。 #### 5. 系统测试 - **测试目的**:确保系统功能的完整性和稳定性。 - **测试方法**:包括单元测试、集成测试、系统测试等...
在部署和运行SSH项目时,可能会遇到编码问题,尤其是在处理中文字符时。以下是解决中文乱码问题的一些关键步骤: - **Eclipse配置**:确保Eclipse的编码设置为UTF-8,以保证源代码中的中文字符正常显示。 - **...