在mysql中什么情况下不能指定字符集_mysql字符集问题汇总

1.设置mysql字符集:

在my.ini中添加以下设置,没有my.ini可以将my_default.ini改成他。

character-set-server=utf8

[client]

loose-default-character-set = utf8

2.jdbc连接字符串指定

在jsp中,mysql使用中文查询条件无输出的解决办法,连接字符串后面指定utf_8字符集

3.建立数据库脚本文件最好也加上字符集设置

CREATE TABLE `t_export` (

`id` int(11) NOT NULL auto_increment,

`goodsId` int(20) default NULL,

`expoPrice` varchar(20) default NULL,

`expoDate` datetime default NULL,

`expoNum` varchar(20) default NULL,

`expoDesc` varchar(1000) default NULL,

PRIMARY KEY (`id`),

KEY `FK_t_export` (`goodsId`),

CONSTRAINT `FK_t_export` FOREIGN KEY (`goodsId`) REFERENCES `t_goods` (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;

4.jsp页面中指定utf-8

pageEncoding="utf-8"%>

5.客户端访问的问题

但这三个参数是不能写在配置文件my.cnf里的。只能通过set命令来动态修改。我们需要的是在配置文件里写好一劳

永逸的办法。那么这时候,是否有在服务端解决问题的办法呢,可行的思路是在init_connect里设置。这个命令在每

个普通用户连接上来的时候都会触发执行,可以在[mysqld]部分增加以下一行设置连接字符集:

在[mysqld]下添加:

init_connect = 'SET NAMES utf8'

6首先,MySQL有默认的字符集,这个是安装的时候确定的,在编译MySQL的时候可以通过DEFAULT_CHARSET=

utf8和DEFAULT_COLLATION=utf8_general_ci这两个参数(MySQL5.5版本,5.1版本用--with-charset=

utf8 --with-collation=utf8_general_ci)来指定默认的字符集为utf8,这也是最一劳永逸的办法,这样指定后,

客户端连接到数据库的编码方式也默认是utf8了,应用程序不需要任何处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值