你報得那個unknown character set “utf” 表示你設置編碼出問題了啊;
為雄縣等地區用戶提供了全套網頁設計制作服務,及雄縣網站建設行業解決方案。主營業務為網站建設、成都網站建設、雄縣網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業、用心的態度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
你先登陸數據庫:
mysql -uroot -p******
show varaibles like '%charater%';
把服務端或客戶端 結果集等這些編碼都重新設置一下:
set character_set+client="utf8"; ?#向這樣 其他都要設置成utf8;
或者第二個方案:
直接修改配置文件my.ini。找到你的配置文件 。我截圖的時我的配置文件位置;
首先你要保證你的mysql編碼,和mysqlclient編碼 都是utf8
在你的
my.cnf
里面就可以設置的。
默認的mysql編碼居然是瑞典碼,很是蹩腳。
這里指的中文數據是用中文命名數據表名和字段名嗎,我建議你不要這么做,使用拼音或首字母的方式來命名,數據表后邊寫好注釋是最好的選擇。
使用中文命名數據表名和字段,實際使用中頻繁會頻繁切換輸入法來查詢,會很繁瑣,其次,中文在編輯器和頁面中存在編碼的問題,會導致程序報錯,再一個,別人拿到你的程序文件,根據數表名可以直接猜到你的數據表的用途,這也是不安全的。
A. 字符編碼:
使用命令行方式登陸到MySQL服務器, 建立一個數據庫,數據庫編碼設為UTF-8。此時,如果直接在命令行窗口使用insert語句插入中文,就遇到類似 ERROR 1406 (22001): Data too long for column 'name' at row 1 錯誤。乍一看,是字段長度引起的問題,但是實際是字符編碼的問題。可是嘗試以下解決方法:
1、在Linux中,使用終端方式登陸MySQL服務器,運行以下命令:
set names utf8;
該命令將終端的字符編碼設為了UTF-8。此后再插入數據庫中的內容都會按照UTF-8的編碼來處理。
注意:在Linux中,終端方式中直接插入中文內容,可能并不會出現1406錯誤,但是這時插入的數據
是按照系統的默認編碼進行處理。因此對編碼為UTF-8的數據庫,在顯示數據的地方可能會出現亂碼。
2、在Windows下,命令行窗口不支持UTF-8編碼,所以使用“set names utf8;”不會達到轉化中文的
效果。但是這個問題還是可以解決的:
(1)使用默認編碼建立數據庫。這種情況下就可以直接輸入中文了,但是相應的問題,就是會
失去UTF-8編碼的靈活性。特別是不利于軟件的國際化。
(2)放棄命令行窗口登錄MySQL,使用圖形化客戶端。客戶端工具可以MySQL的官方網站上找到。
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了
支持插入中文的前提是:你的數據庫編碼和mysql連接所使用的字符集要相同,即:你的數據庫(comment)的字符集是GBK的,那么你在數據庫連接(mysql_connect)時要加上一句mysql_query('set
names
gbk');
這樣的話就不會出現中文插入時出現亂碼現象。UTF8字符集時與GBK同理。
還有疑問?
本文名稱:mysql表怎么插入中文,mysql怎么添加中文數據
轉載注明:http://m.kartarina.com/article46/hdopeg.html
成都網站建設公司_創新互聯,為您提供微信公眾號、App設計、搜索引擎優化、網頁設計公司、域名注冊、做網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯