使用MYsql数据库 网上搜了很多办法 比如改什么my.ini 都用了 但是 输入中文后 mysql 中仍然是乱码, 后来把myeclips 编码改成 UTF-8 后 只要输入中文 就出错。
解决方案 »
- 在linux下用firefox访问一个带有flash的网站,可以正常打开
- thread dump 代码
- ZK,checkbox组件的取值
- Servlet抛getOutputStream() has already been called for this response异常
- ltrim和rtrim无效
- 新手问题,JSP页面中图标无法显示
- 还是这个问题(有出错的例子):用servlet生成的javascript脚本,为什么会少一个字符?
- Connection con=DriverManager.getConnection(url,"sa",""); 到底怎么配置啊,一塌糊涂!!
- 数据库查询后返回多条记录,如何在页面中展现出来?
- java使用存储过程报错,请大神解决
- 关于数据库的事务管理为什么说查询数据可以没有事务
- struts2手动配置问题
<!-- 统一编码UTF-8 -->
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
数据库统一用UTF-8
页面也用UTF-8
一般统一一下编码就没问题的!!!
看下服务里面mysql对应的my.ini是哪个
# MySQL Server Instance Configuration File
[client]
port=3306
[mysql]
default-character-set=utf8
[mysqld]
# The TCP/IP Port the MySQL Server will listen on
port=3306
default-character-set=utf8
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
max_connections=100
query_cache_size=0
table_cache=256
tmp_table_size=5M
thread_cache_size=8
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=8M
key_buffer_size=8M
sort_buffer_size=212K
innodb_additional_mem_pool_size=2M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=8M
innodb_log_file_size=10M
innodb_thread_concurrency=8
还是不能够实现中文的输入
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/new_db1?useUnicode=true&characterEncoding=utf8
username=root
password=admin
initialSize=1
maxActive=100
maxIdlle=8
minIdle=1
<filter-name>char</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>char</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost/test?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=root
http://blog.csdn.net/crazylaa/archive/2009/12/24/5066784.aspx
如果不是乱码那就说明是数据库的问题,将数据库重装一下就可以了,注意重装的时候将数据库的编码改成GBK如果打印出来的是乱码的话,那就需要自己写一个过滤器来处理一下了Struts2中可以直接配置一下,不需要自己写中文过滤器
你先按照上面的方法检查下,定位错误的位置才好改
看会不会出错
如果是修改my.ini文件
则需要重启不是改了就马上有效
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.42-community MySQL Community Server (GPL)Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> use new_db1
Database changed
mysql> select * from producttype
-> ;
+--------+-------------+------------+------------------+------------+---------+-
---------+
| typeid | goodsAmount | goodsKinds | goodsname | goodsprice | visibel |
parentid |
+--------+-------------+------------+------------------+------------+---------+-
---------+
| 1 | 28 | 0iiii | 脰脨脦脛 | 258 |
| NULL |
| 2 | 28 | 1iiii | 脰脨脦脛 | 258 | |
NULL |
| 3 | 28 | 2iiii | 脰脨脦脛 | 258 | |
NULL |
| 4 | 28 | 3iiii | 脰脨脦脛 | 258 | |我想应该是 mysql 数据库的问题
mysql> SHOW VARIABLES LIKE 'character_set_%';
+--------------------------+---------------------------------------------------
-----+
| Variable_name | Value
|
+--------------------------+---------------------------------------------------
-----+
| character_set_client | utf8
|
| character_set_connection | utf8
|
| character_set_database | utf8
|
| character_set_filesystem | binary
|
| character_set_results | utf8
|
| character_set_server | utf8
|
| character_set_system | utf8
|
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.1\share\char
ets\ |
+--------------------------+---------------------------------------------------
-----+
8 rows in set (0.00 sec)
///////////////////////////
并且将jdbc.url=jdbc:mysql://localhost/test?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf8 加入后再添加数据 仍然乱码 非常不解。 太杯具了,实在想不通!!!!!!