你報(bào)得那個(gè)unknown character set “utf” 表示你設(shè)置編碼出問(wèn)題了?。?/p>
為雄縣等地區(qū)用戶(hù)提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及雄縣網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、雄縣網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶(hù)提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶(hù)的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
你先登陸數(shù)據(jù)庫(kù):
mysql -uroot -p******
show varaibles like '%charater%';
把服務(wù)端或客戶(hù)端 結(jié)果集等這些編碼都重新設(shè)置一下:
set character_set+client="utf8"; ?#向這樣 其他都要設(shè)置成utf8;
或者第二個(gè)方案:
直接修改配置文件my.ini。找到你的配置文件 。我截圖的時(shí)我的配置文件位置;
首先你要保證你的mysql編碼,和mysqlclient編碼 都是utf8
在你的
my.cnf
里面就可以設(shè)置的。
默認(rèn)的mysql編碼居然是瑞典碼,很是蹩腳。
這里指的中文數(shù)據(jù)是用中文命名數(shù)據(jù)表名和字段名嗎,我建議你不要這么做,使用拼音或首字母的方式來(lái)命名,數(shù)據(jù)表后邊寫(xiě)好注釋是最好的選擇。
使用中文命名數(shù)據(jù)表名和字段,實(shí)際使用中頻繁會(huì)頻繁切換輸入法來(lái)查詢(xún),會(huì)很繁瑣,其次,中文在編輯器和頁(yè)面中存在編碼的問(wèn)題,會(huì)導(dǎo)致程序報(bào)錯(cuò),再一個(gè),別人拿到你的程序文件,根據(jù)數(shù)表名可以直接猜到你的數(shù)據(jù)表的用途,這也是不安全的。
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,使用圖形化客戶(hù)端。客戶(hù)端工具可以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了
支持插入中文的前提是:你的數(shù)據(jù)庫(kù)編碼和mysql連接所使用的字符集要相同,即:你的數(shù)據(jù)庫(kù)(comment)的字符集是GBK的,那么你在數(shù)據(jù)庫(kù)連接(mysql_connect)時(shí)要加上一句mysql_query('set
names
gbk');
這樣的話就不會(huì)出現(xiàn)中文插入時(shí)出現(xiàn)亂碼現(xiàn)象。UTF8字符集時(shí)與GBK同理。
還有疑問(wèn)?
本文名稱(chēng):mysql表怎么插入中文,mysql怎么添加中文數(shù)據(jù)
轉(zhuǎn)載注明:http://chinadenli.net/article46/hdopeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、App設(shè)計(jì)、搜索引擎優(yōu)化、網(wǎng)頁(yè)設(shè)計(jì)公司、域名注冊(cè)、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(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)容