1,創(chuàng)建table的時(shí)候就使用utf8編碼

從網(wǎng)站建設(shè)到定制行業(yè)解決方案,為提供成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)服務(wù)體系,各種行業(yè)企業(yè)客戶提供網(wǎng)站建設(shè)解決方案,助力業(yè)務(wù)快速發(fā)展。創(chuàng)新互聯(lián)建站將不斷加快創(chuàng)新步伐,提供優(yōu)質(zhì)的建站服務(wù)。
舉個(gè)例子:
在每次創(chuàng)建表的時(shí)候都在最后加上 character set = utf8 就可以很好的支持中文。
2,修改已經(jīng)有的table的編碼
當(dāng)使用默認(rèn)編碼創(chuàng)建了一個(gè)table的時(shí)候,是不能支持中文的,這時(shí)候使用如下語(yǔ)句對(duì)table_name進(jìn)行修改:
此后再往這個(gè)table插入中文的時(shí)候,就可以正常存儲(chǔ)和讀取了,但不知道為什么之前的亂碼還是不能糾正,只能新插入的數(shù)據(jù)沒(méi)有問(wèn)題。
[注意] 我google了一下,有些地方說(shuō)這個(gè)命令也行,但是我測(cè)試以后并不行
alter table table_name charset=utf8; #這個(gè)語(yǔ)句并沒(méi)有讓table_name支持中文
A. 字符編碼:
使用命令行方式登陸到MySQL服務(wù)器, 建立一個(gè)數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)編碼設(shè)為UTF-8。此時(shí),如果直接在命令行窗口使用insert語(yǔ)句插入中文,就遇到類(lèi)似 ERROR 1406 (22001): Data too long for column 'name' at row 1 錯(cuò)誤。乍一看,是字段長(zhǎng)度引起的問(wèn)題,但是實(shí)際是字符編碼的問(wèn)題。可是嘗試以下解決方法:
1、在Linux中,使用終端方式登陸MySQL服務(wù)器,運(yùn)行以下命令:
set names utf8;
該命令將終端的字符編碼設(shè)為了UTF-8。此后再插入數(shù)據(jù)庫(kù)中的內(nèi)容都會(huì)按照UTF-8的編碼來(lái)處理。
注意:在Linux中,終端方式中直接插入中文內(nèi)容,可能并不會(huì)出現(xiàn)1406錯(cuò)誤,但是這時(shí)插入的數(shù)據(jù)
是按照系統(tǒng)的默認(rèn)編碼進(jìn)行處理。因此對(duì)編碼為UTF-8的數(shù)據(jù)庫(kù),在顯示數(shù)據(jù)的地方可能會(huì)出現(xiàn)亂碼。
2、在Windows下,命令行窗口不支持UTF-8編碼,所以使用“set names utf8;”不會(huì)達(dá)到轉(zhuǎn)化中文的
效果。但是這個(gè)問(wèn)題還是可以解決的:
(1)使用默認(rèn)編碼建立數(shù)據(jù)庫(kù)。這種情況下就可以直接輸入中文了,但是相應(yīng)的問(wèn)題,就是會(huì)
失去UTF-8編碼的靈活性。特別是不利于軟件的國(guó)際化。
(2)放棄命令行窗口登錄MySQL,使用圖形化客戶端。客戶端工具可以MySQL的官方網(wǎng)站上找到。
B. Mysql配置文件:
“在my.ini里找到sql- mode='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'把其中 的STRICT_TRANS_TABLES,去掉,或者把sql- mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION注釋掉,然 后重啟mysql就ok了
有兩種方法...你試一下...不行的話加我的QQ
76558882
1.
修改
mysql
安裝目錄下的
my.ini
修改
default-character-set=latin1
把latin1
改為
gb2312
或
gbk
注意:
修改兩處
CLIENT
SECTION
#
----------------------------------------------------------------------
#
#
The
following
options
will
be
read
by
MySQL
client
applications.
#
Note
that
only
client
applications
shipped
by
MySQL
are
guaranteed
#
to
read
this
section.
If
you
want
your
own
MySQL
client
program
to
#
honor
these
values,
you
need
to
specify
it
as
an
option
during
the
#
MySQL
client
library
initialization.
#
[client]
port=3306
[mysql]
default-character-set=latin1
//把
latin1
改為
gb2312或
gbk
#
SERVER
SECTION
#
----------------------------------------------------------------------
#
#
The
following
options
will
be
read
by
the
MySQL
Server.
Make
sure
that
#
you
have
installed
the
server
correctly
(see
above)
so
it
reads
this
#
file.
#
[mysqld]
#
The
TCP/IP
Port
the
MySQL
Server
will
listen
on
port=3306
#Path
to
installation
directory.
All
paths
are
usually
resolved
relative
to
this.
basedir="C:/Program
Files/MySQL/MySQL
Server
5.0/"
#Path
to
the
database
root
datadir="C:/Program
Files/MySQL/MySQL
Server
5.0/Data/"
#
The
default
character
set
that
will
be
used
when
a
new
schema
or
table
is
#
created
and
no
character
set
is
defined
default-character-set=latin1
//將latin1
改為
gb2312
或
gbk
2.
進(jìn)入在命令提示符下登錄mysql
輸入
charset
gb2312
你再?lài)L試使用
insert
into
插入一條記看看...
首先你要保證你的mysql編碼,和mysqlclient編碼 都是utf8
在你的
my.cnf
里面就可以設(shè)置的。
默認(rèn)的mysql編碼居然是瑞典碼,很是蹩腳。
CREATE TABLE t_department ( sid varchar(32) NOT NULL, pid varchar(32) NOT NULL, thedata varchar(50) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=gbk; 2)打開(kāi)你的MySQL目錄下的my.ini文件,把里面所有的default-character-set選項(xiàng)設(shè)為GBK或者GB2312,保存后重啟MySQL。[Zone Yan.] 測(cè)試過(guò)----ok3)mysql數(shù)據(jù)庫(kù)安裝的時(shí)候。選擇語(yǔ)言為gbk的那個(gè),這樣在數(shù)據(jù)庫(kù)中才可以存放中文。
分享名稱(chēng):mysql怎么寫(xiě)入中文,mysql存儲(chǔ)中文
本文鏈接:http://chinadenli.net/article36/dsgcepg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站收錄、網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容