mysql 乱码 ubuntu 安装

本文介绍如何在MySQL中配置字符集,包括通过修改my.cnf文件和使用SQL命令两种方式,并展示了如何验证设置是否生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


登录mysql

mysql -u root - p

#查看 character 相关的属性

SHOW VARIABLES LIKE '%character%';
#会得到如下的结果:
+-------------------------------+----------------------------+
| Variable_name                 | Value                      |
+--------------------------+---------------------------------+
| character_set_client          | utf8                       |
| character_set_connection      | utf8                       |
| character_set_database        | latin1                     |
| character_set_filesystem      | binary                     |
| character_set_results         | utf8                       |
| character_set_server          | latin1                     |
| character_set_system          | utf8                       |
| character_sets_dir            | /usr/share/mysql/charsets/ |
+--------------------------+---------------------------------+

使用以下办法

#打开/etc/mysql/my.cnf

sudo gedit /etc/mysql/my.cnf
#在[client]内,添加 default-character-set 属性
[client]
...
...
default-character-set=utf8
#在[mysqld]内,添加default-character-set=utf8
[mysqld]
...
...
default-character-set=utf8
#重启 mysql
sudo service mysql restart


停用命令:sudo mysqladmin shutdown -u root -p

启用命令:

sudo /etc/init.d/mysql restart
或者:sudo mysqld_safe -user=mysql &

这样你可能因为你修改了my.cnf而导致启动不成功,这是你可以将

[mysqld]
...
...

default-character-set=utf8
替换为

default-character-set=utf8

然后就可以应该可以成功了。这方法来自http://www.2cto.com/database/201209/156679.html


2.直接使用命令

set character_set_server='utf8',character_set_database='utf8';
不过每次启动都要设置一次。


便可以转换字体的编码。

+-------------------------------+----------------------------+
| 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            | /usr/share/mysql/charsets/ |
+--------------------------+---------------------------------+
可以用source file执行sql脚本 并将查询结果输出到文本中
sql.sql
create table SC(
				Sno int,
				Cno int,
			    Grade int);
insert into SC values(200215121,1,92);
insert into SC values(200215121,2,85);
insert into SC values(200215121,3,88);
insert into SC values(200215122,2,90);
insert into SC values(200215122,3,80);
select * from SC;


insert into student values(200215124,'张立','男',19,'IS');
SELECT * INTO OUTFILE '/tmp/result.text'FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'LINES TERMINATED BY '\n'FROM SC;


会将查询结果输出到/temp/result.text下


成功了 。。。。恭喜~~啊

这样通过set设置似乎只对当前的登录有效,每次登录都得重新设置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值