配置环境为mysql5.0+tomcat5.5
数据库中默认安装字符集为latin1,但在建库时全部设成了utf8,这是mysql数据库中
show variables like "%char%" ; 的结果
+--------------------------+-----------------------------+
| Variable_name | Value |
+--------------------------+-----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | D:\mysql5.0\share\charsets\ |
+--------------------------+-----------------------------+ 在tomcat5.5中,把与数据库连接的文件写在一个LabelsBundle.properites文件中
driverName = com.mysql.jdbc.Driver
dbURL = jdbc:mysql://localhost:3306/gigfundb?autoReconnect=true&useUnicode=true&characterEncoding=utf8
userID = root
passwd = 然后在DatabaseConn.java文件读取这个配置文件的内容.在所有的jsp文件中字符编码都设成UTF-8,并且写了一个EncodingFilter过滤器,在web.xml中配置此encoding参数为UTF-8,可不明白的是,
在页面上插入中文后,无论是在数据库中查看(dos方式下)还是在页面上显示都为?,我写了一个test.jsp文件,只是把数据库连接直接写在jsp页面中,同样jdbc:mysql://localhost:3306/gigfundb?useUnicode=true&characterEncoding=utf8"
这样插入数据库中的中文在页面上就能显示正常,实在搞不懂什么原因.是不是在DababaseConn.java无法读取properties中的"useUnicode=true&characterEncoding=utf8"呢?
数据库中默认安装字符集为latin1,但在建库时全部设成了utf8,这是mysql数据库中
show variables like "%char%" ; 的结果
+--------------------------+-----------------------------+
| Variable_name | Value |
+--------------------------+-----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | D:\mysql5.0\share\charsets\ |
+--------------------------+-----------------------------+ 在tomcat5.5中,把与数据库连接的文件写在一个LabelsBundle.properites文件中
driverName = com.mysql.jdbc.Driver
dbURL = jdbc:mysql://localhost:3306/gigfundb?autoReconnect=true&useUnicode=true&characterEncoding=utf8
userID = root
passwd = 然后在DatabaseConn.java文件读取这个配置文件的内容.在所有的jsp文件中字符编码都设成UTF-8,并且写了一个EncodingFilter过滤器,在web.xml中配置此encoding参数为UTF-8,可不明白的是,
在页面上插入中文后,无论是在数据库中查看(dos方式下)还是在页面上显示都为?,我写了一个test.jsp文件,只是把数据库连接直接写在jsp页面中,同样jdbc:mysql://localhost:3306/gigfundb?useUnicode=true&characterEncoding=utf8"
这样插入数据库中的中文在页面上就能显示正常,实在搞不懂什么原因.是不是在DababaseConn.java无法读取properties中的"useUnicode=true&characterEncoding=utf8"呢?
解决方案 »
- 存储过程中,运行出现Column count doesn't match value count at row 1问题。麻烦大大帮忙解决
- 请教mysql datadir= 如何设置为远程的网络共享目录
- VC++中如何调用 带参数的,有返回记录的存储过程?
- 如何取最大时间记录?
- postgreSQL有没有自动增加的字段?如mysql的auto_increment?
- ADO与MYSQL问题
- 在mysql如何对中文使用全文搜索?
- Mysql数据库死锁 求救
- 关于数据库(MYSQL)时间段的拆分问题,怎么样编程实现?
- mysql中的存储过程能返回数组么?
- 用myisampack工具压缩表的时候,总是报错。
- 什么是"错误代码: 1172 Result consisted of more than one row"
driverName = com.mysql.jdbc.Driver
dbURL = jdbc:mysql://localhost:3306/gigfundb?autoReconnect=true&useUnicode=true&characterEncoding=utf8
这里没有错,只是我在程序中把&写成了&,实际上在xml文件中才需要把&写成&,而LabelsBundle.properites并不需要.呵呵.