扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
我来给你做一个综合解释吧。 在正常情况下。 PHP脚本 HTML 已经浏览器 然后就是数据库。 都有自己的字符集。何谓字符集。我想你如果是一个真正想热衷于学PHP 那么你应该花一定的时间去了解一下字符集的问题。 就好比我做第一个项目。因为字符集搞的死去活来。 1.PHP的字符集。一般PHP网页的是嵌套在html页面以内。那么如果在没有冲突的情况下可以使用 header方面设置。比如?php header ... ? 3.数据库的问题。mysql_query("set names gbk"); 这句话意思就是说,在操作数据库的时候已这个字符集去读写。当然这个字符集要对应你的页面的字符集哦。 4.浏览器。浏览器的问题是最万恶的,因为每个浏览器默认的是gb2312.当然不同的浏览器是不同的。所以要想成为一名优秀的程序员,写出优质的代码。你还得去了解每个浏览器的差别。当然目前是不需要的,当然这个问题你慢慢学习。写代码的过程中会慢慢了解到的。你要做的就是将所有使用字符集确保一致性
创新互联专注于铜陵企业网站建设,响应式网站,成都商城网站开发。铜陵网站建设公司,为铜陵等地区提供建站服务。全流程按需制作网站,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
页面文件加上header("Content-Type:text/html;charset=gbk");
character_set_client=binary 改为character_set_client=gbk
在你的语句中修改下 character_set_client=gbk,再试试,如果不行
在MYSQL中执行下面的语句看看你的数据库和表是什么字符集,字符集和页面要统一
1、显示某数据库字符集设置
show create database 你的数据库名;
2、显示某数据表字符集设置
show create table 你的表名;
在给表中插入中文字符时显示“??”,Baidu一番后给my.ini的配置文件中增加了默认字符集的配置
解决方案一:
需要将MySQL的字符集改为UTF-8。左键点击托盘区的WampServer图标,选择MySQL--my.ini,就会打开MySQL的配置文件 了,在[client]段落增加:default-character-set=utf8 ;在[mysqld]段落增加:character_set_server=utf8 。重启MySQL服务即可。
以下的文章主要介绍的是MySQL数据库中文乱码的实际解决方案,可以说是较为实用的。我们大家都知道在使用MySQL数据库时,我们对其插入一些中文字符的实际操作过程中经常会出现乱码,中文全被用?代替。
出现这种情况的原因,多是字符集不匹配造成的。
在MySQL中,如果使用缺省的字符集,在建库、建表时,默认使用的是latin1字符集,为ISO 8859-1西欧字符集。
插入中文字符时,与之不匹配,就会出现乱码。
本人使用的是MySQL 5.0版,并用C#操作MYSQL数据库,当插入中文字符时,发现显示的是乱码。
初步估计是字符集没有配对。查找后,发现MSYQL默认使用的是latin1,因此将数据库的配置文件中的字符设置改为utf8,并在C#中将中文字符,转为utf8,插入后,仍为乱码。
MySQL也支持gb2312,又将MySQL的字符设置改为gb2312,C#中使用Default,重起MySQL后,操作仍然无效。
后想起,虽然将MySQL的字符集设置为gb2312或utf8,但已经建立的数据库和表,仍采用的是默认的字符集,也即仍为当初的西欧字符集,最好,只得忍痛将数据库删除,重新以gb2312字符集建立数据库和表。
再用C#插入中文字符后,一切OK。
再安装好MySQL数据库后,可以手工或使用配置工具,将my.ini文件中的默认字符集改为gb2312,再重新建库和表时,不用再在语句中指定字符集,其默认设置也即为gb2312,可以正常显示中文字符集。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流