創建table的時候就使用utf8編碼
在每次創建表的時候都在最后加上 character set = utf8
就可以很好的支持中文
create table xxx (
id int auto_increment,
title text,
content text,
posted_on datetime,
primary key (id)
) character set = utf8;
修改已經有的table的編碼
當使用默認編碼創建了一個table的時候,是不能支持中文的,這時候使用如下語句對table_name進行修改:
alter table table_name convert to character set utf8;
此后再往這個table插入中文的時候,就可以正常存儲和讀取了,但不知道為什么之前的亂碼還是不能糾正,只能新插入的數據沒有問題。
修改table中一個column的編碼
alter table 表名 modify 要修改的字段 字段類型 character set utf8;
即使是修改table某個字段的編碼,也沒有做到讓之前的亂碼變成中文。
查看一個database,一個table的編碼
show create database 表名;
高版本的mysql默認就是utf-8,低版本的才會出現這種情況,我的也是這樣,使用低版本時默認的是latin1