最近在使用MySQL時,遇到一個問題,就是插入漢字時會出現(xiàn)問號,這讓我非常困擾。
經(jīng)過一番研究,我發(fā)現(xiàn)這個問題是由于MySQL默認(rèn)的字符集是latin1,而在這種字符集下,無法正確存儲中文字符。而在插入漢字時,如果連接字符串的字符集和MySQL默認(rèn)的字符集不一致,則會出現(xiàn)問號。
//示例代碼 //連接MySQL數(shù)據(jù)庫時,設(shè)置字符集為utf8 $link=mysqli_connect("localhost","root","123456","test"); mysqli_query($link,"set names utf8");
因此,為了解決這個問題,我們需要在連接MySQL數(shù)據(jù)庫時,設(shè)置正確的字符集。一般來說,我們可以將字符集設(shè)置成utf8,這樣就可以正確地存儲中文字符。
除此之外,我們還可以在創(chuàng)建表的時候指定字符集。示例如下:
//示例代碼 create table test ( id int not null primary key auto_increment, name varchar(20) not null ) default character set utf8;
在創(chuàng)建表時指定字符集,可以保證我們后續(xù)插入數(shù)據(jù)時,不會出現(xiàn)問號的情況。
總之,解決MySQL插入漢字變問號的問題,最關(guān)鍵的就是要正確設(shè)置字符集。只要我們設(shè)置好了字符集,就可以愉快地使用MySQL存儲中文字符了。
下一篇mysql插入行