1.server本身设定问题,例如还停留在latin1
2.table的语系设定问题(包含character与collation)
3.客户端程式(例如php)的连线语系设定问题
强烈建议使用utf8!!!!
utf8可以兼容世界上所有字符!!!!
Linux下Mysql插入中文显示乱码解决方案
mysql
-uroot
-p
回车输入密码
解决方案:
mysql>user
mydb
mysql>alter
database
mydb
character
set
utf8!
另一种方法是直接修改默认的Mysql配置文件
在debian环境下,彻底解决mysql无法插入中文和中文乱码的办法
上面提到了用临时方法更改数据库的字符集设置,显示中文,但是后来发现在有的系统下并不能成功,比如我用的debian
7.0,找了好久终于找到一个适合debian系统的解决方案,debian
7.0下测试成功,其他诸如修改client和mysql加入default-character-set=utf8的方法之类的,只适用与5.5以前的系统!
mysql_query("SETNAMES
'UTF-8'")//将MySql默认字符集设置为utf-8
这句错了
MYSQL和PHP
HTML不一样
UTF8不带"-"号
1.修改my.ini:[mysql]default-character-set=utf8[mysqld]default-character-set=utf8default-storage-engine=MyISAM在[mysqld]下加入:default-collation=utf8_bininit_connect='SETNAMES
utf8'
2.在需要做数据库 *** 作的php程序前面加上mb_internal_encoding('utf-8')
3.create
table最后边加上ENGINE=MyISAM
DEFAULT
CHARSET=utf8
COLLATE=utf8_bin
4.phpMyAdmin/config.inc.php
$cfg['DefaultCharset']
=
'utf-8'$cfg['RecodingEngine']
=
'iconv'
5.phpMyAdmin/libraries/string.lib.php将第41行的mb_internal_encoding($GLOBALS['charset'])改为:mb_internal_encoding('utf-8')
6.phpAdmin导出数据时把"二进制区域使用十六进制显示"的勾去掉
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)