一个项目是ssh框架写的,但是留言板中提交的时候,提交到数据库中不能显示中文(数据库中也是乱码),英文字母,数字都可以唯独中文不行,估计应该是编码问题,但是怎么修改还不大清楚,请大家帮忙解决下,谢谢。
解决方案 »
- 初次使用mysql写的,没学过mysql和sqlserver2008的区别,忘大手说说sql语句哪里错了
- SoftReference 做缓存
- Apache MyFaces Trinidad 2.0.0-beta-2
- 关于学习js那些书最好?
- 谁将 roller 4 的源文件配置到 eclipse 里面了具体步骤是什么
- js中action响应struts中表单?急
- 请问如何实现文件从服务器传输到客户端。不是下载
- 请教,关于Resin的几个问题!如何用一个resin同时发布多个网站???
- jdbc和oracle的连接driver问题???????
- 关于事件处理的一个问题,!!!请教!!!!
- 程序做好后大家用什么打包工具呢?目前只知道exe4j,有没有用其他工具的?哪种工具比较好用?
- Exception in thread "main" java.lang.StackOverflowError .
如果是中文
Mysql的配置程序可以数据库字符配置成和项目一样的
会出现四个字符集编码:Server, Db, Client, Conn Characterset,默认编码是latin1,如果要想写中文,就得讲这些字符集改成能编码中文的字符集,UTF8 GBK GB2312都行
其中Client和Server可以在Mysql Server安装路径下的my.ini文件中改,改好后记得重启Mysql服务
DB可以在sql脚本或者GUI建表时指定,Conn是在连接的配置文件中指定,不过一般是默认使用Client的编码,
一般就改好Client和Server就行了。
另外,如果SSh框架中,Struts2 中如果要传递中文信息,最后要将Tomcat(或者其他web容器)的字符集也设置成对应的能编码中文的字符集。over
create table t3(id int auto_increment primary key,
name char(20) null)engine=innodb default character set=utf8;注意主要是建表时带上engine=innodb default character set=utf8;就一定没有问题--------------------------------------------------------------------------------------------------
my.ini 里面不就有一行是设置Server的么?
# SERVER SECTION
# ----------------------------------------------------------------------
#
# The following options will be read by the MySQL Server. Make sure that
# you have installed the server correctly (see above) so it reads this
# file.
#
[mysqld]# The TCP/IP Port the MySQL Server will listen on
port=3306
#Path to installation directory. All paths are usually resolved relative to this.
basedir="C:/Program Files/MySQL/MySQL Server 5.1/"#Path to the database root
datadir="C:/ProgramData/MySQL/MySQL Server 5.1/Data/"# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=gbkDB可以通过GUI改,也可以在脚本中改,不过一般Server是GBK的话 DB也会是GBK的
GUI中改的话,就是在每张表的Detail Column选项卡中
脚本中改的话,就是在脚本最开始设置 set character set GBK;
或者在每张表的声明后面加上DEFAULT CHARSET=GBK
`slaveId` int(11) NOT NULL auto_increment,
`deviceId` int(11) NOT NULL,
`macAddress` varchar(45) NOT NULL,
`serviceContent` varchar(45) default NULL,
`slaveOnline` int(11) NOT NULL,
PRIMARY KEY (`slaveId`),
KEY `FK_EMSlave_1` (`deviceId`),
CONSTRAINT `FK_EMSlave_1` FOREIGN KEY (`deviceId`) REFERENCES `device` (`deviceId`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="com.mysql.jdbc.Driver" />
<property name="jdbcUrl"
value="jdbc:mysql://localhost:3306/数据名?useUnicode=true&characterEncoding=utf8&autoReconnect=true" />
<property name="user" value="root" />
<property name="password" value="root" />
这样试试!
了