to ice_berg16(寻梦的稻草人) 那再請教一下如何強制更改比如value的字段的字符集等於big5呢?,我在phpmyadmin下用 ALTER TABLE table_name CHARACTER SET = big5或者在Mysql命令下用這個命令 都不能把裏面的所有字段變成一樣的字符集。 因爲我發現了該表的字段並不是同一個字符集。 或者說是否有命令可以把某個表的所有字段都強制設置成某個字符集? 謝謝!
ALTER TABLE tb_name CHANGE column column type CHARACTER SET char_type
"ALTER TABLE tb_name CHANGE column column type CHARACTER SET char_type" 为什么会报语法错误?我的修改语句是:alert table `list` change name varchar(255) not null default '' character set utf8;
=号两端的字符不是同一字符集,就出现这种情况,
你看看该字段的字符集,和客户端连接的字符集是不是不一样?
2)我重新建立了一個數據庫,把那幾個表都設置字符集為big5,結果還是出錯,那=號兩端的字符不是同一字符集 應該就不成立了吧?
3)我有上Mysql站點,也有人提了相同的問題,可是找不到回復。可有解決的方案?
你可以在查询之前设置一下
mysql_query("SET NAMES big5");试试,
如果不行,将出错的部分,=两端的字符串的所使用的字符集用命令查看一下
select collation(fieldName), collation(string);
fieldName 和 string 分别是=两端的字符串或字段名
如果不一样,那么可以在查询时进行强制字符集转换select * from tblname where fieldName = _big5'value';更多参考MYSQL网站
http://dev.mysql.com/doc/mysql/en/charset-collation-charset.html
ALTER TABLE table_name CHARACTER SET = big5或者在Mysql命令下用這個命令
都不能把裏面的所有字段變成一樣的字符集。
因爲我發現了該表的字段並不是同一個字符集。
或者說是否有命令可以把某個表的所有字段都強制設置成某個字符集?
謝謝!
为什么会报语法错误?我的修改语句是:alert table `list` change name varchar(255) not null default '' character set utf8;