
以前的国外主机用的Mysql是4x系列的,感觉还比较好,都无论GBK和UTF-8都没有乱码,没想到新的主机的Mysql是50版本的,导入数据后,用Php读出来全是问号,乱码一片,记得我以前也曾经有过一次切换出现乱码的经验,原因肯定是Mysql版本之间的差异问题。
只好查资料,发现了一个解决方法,就是在mysql_connect后面加一句SET
NAMES
UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用SET
NAMES
GBK,代码如下:
$mysql_mylink
=
mysql_connect($mysql_host,
$mysql_user,
$mysql_pass);
mysql_query("SET
NAMES
'GBK'");
会不会是你装的时候没装好,要么就是你的输入法,还有是你写代码的时候有些属性你设置对了吗,我向来没晕倒这个问题的,如果以上问题还不是,你可以在word中写好,然后复制过去,不过安装问题的可能性大些 字符编码不对 就会这样了 你在建数据库的时候 最好加上这样一句
create database tea default character set utf8 collate utf8_general_ci;
set names 'utf8';
这是对数据库默认字符的设置 以后对数据库的 *** 作都会使用utf8的字符编码
在你的程序里 也要适当的对字符进行处理 这要根据的你程序定 不一样的程序修改的形式不一样
像你以前在命令窗口下使用MySQL无法插入中文就是典型的字符不对造成的 你在对数据库 *** 作之前 最好在命令窗口设置一下 *** 作时的编码
例如 setchar utf8;
这样插入的时候就不会插不进去了
如果是
主键
不能有重复的记录,如果你输入的中文已存在就不能再输入了,你可以输入其它中文试试
另外,数据库使用gbk编码,你的页面也要使用gbk编码,避免引起
乱码
。
建议不要把有可能出现重复值的列作主键。
mysql数据库两表关联列能为中文,不要加双引号。但最好不要用中文,除了兼容性不好外,还有就是会出现一些莫名其妙的问题,如使用中文的列的表用多表查询的内连接的自然连接时就实现不了该效果,而用英文的话就正常。
数据库编码字符集设置的不对。
数据库码就是数据库编程语言中的代码。流行的关系数据库系统都支持数据库字符集编码,也就是说在创建数据库时可以指定它自己的字符集设置,数据库的数据以指定的编码形式存储。
当应用程序访问数据时,在入口和出口处都会有字符集编码的转换。对于中文数据,数据库 字符编码的设置应当保证数据的完整性。
GB2312、GBK、UTF-8等都是可选的数据库字符集编码;当然我们也可以选择。ISO8859-1(8-bit),只是我们得在用程序写数据之前先将16Bit的一个汉字或Unicode拆分成两个8-bit的字符,读数据之后也需要将两个字节合并起来,同时还要判别其中的SBCS字符。
字符编码也称字集码,是把 字符集中的 字符 编码为指定 集合中某一 对象(例如: 比特模式、 自然数 序列、8位组或者 电脉冲),以便 文本在 计算机中存储和通过 通信 网络的传递。
常见的例子包括将拉丁字母表编码成 摩斯电码和 ASCII。其中, ASCII将字母、数字和其它符号 编号,并用7 比特的 二进制来表示这个整数。通常会额外使用一个扩充的比特,以便于以1个 字节的方式存储。
在计算机技术发展的早期,如 ASCII(1963年)和 EBCDIC(1964年)这样的字符集逐渐成为标准。但这些字符集的局限很快就变得明显,于是人们开发了许多方法来扩展它们。
对于支持包括东亚 CJK字符家族在内的写作系统的要求能支持更大量
以上就是关于高手求救,php调用mysql数据库不能显示中文呈乱码全部的内容,包括:高手求救,php调用mysql数据库不能显示中文呈乱码、SQL数据库表中不能录入中文、mysql表中不能用汉字怎么回事希望哪位数据库高手指点。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)