MYSQL数据库内为UTF8,PHP连接为GBK,这样会引起乱码吗?
时间:2007-09-18
来源:互联网
如果一个字符,在UTF8中有,但是在GBK中无,那么就会出现一个乱码吧?
如果一个字符,在GBK中有,但是在UTF8中无,那么也会出现一个乱码吧?
UTF8中包含有GBK吗?
作者: flash866 发布时间: 2007-09-18
作者: zig 发布时间: 2007-09-18
不管是错误的设置还是错误的转换,读写都是同样的条件,结果就正好正确了.
当然了上面的说法是个歪理.
按我的理解数据库其实在执行sql语句的时候一定是遵循一些最基本的规则.
基本到编码无关,当然要保证关键字是ascii编码的了,这也就是只有ascii编码的字段名的原因.
所以说如果你用php代码来保存数据,基本上你set names gbk,和set names utf8结果都正确.
但是在GUI工具里,就不一定了,因为GUI工具都是老外写的.老外没有对显示字符集进行很好的支持造成的显示混乱.
但是为什么存储数据用,set names utf8,GUI工具用set names gbk,就能正常显示呢?
只有一个解释,不管你客户端用什么names,数据库里(字段)的编码都是固定的(utf-8).
数据库(不管是前端还是服务器端)进行了编码转换,所以我认为,直接用utf8编码,
php做b/s的工具其效率要高,因为少了编码转换的步骤.
换句话说,如果前端编码设置和服务器存储端不同,会进行隐式的编码转换,
最终显示是否正确是显示工具解码造成的.数据都是一样的.
我只所以有这样的认识.是因为我以前用过firebird这个数据库.里面有一种叫做none的编码.
也就是你写什么都行,怎么解码服务器不管,服务器只管存取数据就行了.
世界本来就应该这样的.服务器的核心是不应该管编码问题的.都是数据吗!
作者: achun.shx 发布时间: 2007-09-18
还是改造后加上 SET NAMES UTF8吧
:victory:
作者: londit.cn 发布时间: 2007-09-18
的。
作者: tg8866 发布时间: 2007-09-18
作者: changxilong 发布时间: 2007-09-18
用的程序乱七八糟的各种编码都有。。
mysql怎么照顾得了???
作者: tg8866 发布时间: 2007-09-19
作者: 牙签 发布时间: 2011-06-29
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28