mySql保存中文字符乱码

1.先查看从jsp页面传到servelt是否是乱码,如果是,那就是没有配置srping 字符过滤器在web.xml添加过滤器

<filter>
		<filter-name>SpringEncodingFilter</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>SpringEncodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

 

2.如果不是,mysql 刚安装默认不是中文字符编码,要修改数据库字符集

修改数据库字符集

alter database 数据库名 character set utf8;

修改表字符集

ALTER TABLE  表名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

修改列字符集

ALTER TABLE  表名 CHANGE  列名  列名  VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_general_ci;

3.在jdbc mysql url后面加参数

?useUnicode=true&amp;characterEncoding=GBK

注意&amp;是转义的&,如果直接写&会报错

4.修改数据库默认字符集

在mysql的安装目录下找到my.ini,作如下修改:
[mysqld]

character-set-server=utf8mb4

[mysql]

default-character-set=utf8mb4

   my.ini是在mysql数据文件夹下面,默认安装在C:\ProgramData\MySQL目录下。 

命令修改 
set character_set_client=utf8;

 set character_set_connection=utf8;

 set character_set_database=utf8;

 set character_set_results=utf8;

 set character_set_server=utf8;

5.如果数据库保存的都是正常,而在Mysql命令行是乱码

set character_set_results=gb2312;

就可以了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值