mysql left 中文_MySql 解决中文乱码问题

关于数据库中文乱码问题

在 mysql 中输入中文, 乱码, 尝试了修改数据库, 数据表的字符编码集, 都没有用, 最后发现问题如下:

修改数据库编码集

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

showvariableslike'%char%';

+--------------------------+----------------------------+

|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|/opt/lampp/share/charsets/|

+--------------------------+----------------------------+

此时可以 mysql 会显示当前数据库的编码集, 其实这里不改无妨, 如果要修改, 清参照下方代码:

1

2

3

4

setcharacter_set_server=utf8;

setcharacter_set_database=utf8;

showvariableslike'%char%';

修改数据表的编码集

1

2

3

4

5

6

7

8

9

10

11

12

13

MariaDB[(none)]>showcreatetablewall_notices.notices\G;

***************************1.row ***************************

Table:notices

CreateTable:CREATETABLE`notices`(

`nt_id`int(11)NOTNULLAUTO_INCREMENT,

`nt_title`char(20)DEFAULTNULL,

`nt_content`mediumtext,

`nt_create_time`datetimeDEFAULTNULL,

PRIMARYKEY(`nt_id`)

)ENGINE=InnoDBAUTO_INCREMENT=32DEFAULTCHARSET=utf8

, 这里是正确的, 如果不是这个值, 一般都需要修改, 修改代码:

输入第一行代码, mysql 就会显示 table 的创建代码, 此时可以发现DEFAULT CHARSET=utf8, 这里是正确的, 如果不是这个值, 一般都需要修改, 修改代码:

1

2

3

createtableuser(namevarchar(11))defaultcharset=utf8;

ALTERTABLE`table`DEFAULTCHARACTERSETutf8;

上述两行分别是创建之时指出编码集和创建之后修改编码集.

字段编码排序规则

一般前两点完成, 还是无法正常显示中文, 需要修改字段的排序规则

1

2

ALTERTABLE`tablename`CHANGE`字段名1``字段名2`VARCHAR(36)CHARACTERSETutf8NOTNULL;

到这里基本就没有什么问题了.

另注:

In newer versions of Confluence, database requirements become more and more stringent. This is to ensure that users get the most consistent experiences when working with content, regardless of the content in their database.

Collation in MySQL can be complicated because you can have a separate collation set at:

The database level

The table level

The column level

Post Views:

41

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值