
正文
phpmysql编码,mysql 编码
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
PHP显示MySQL数据乱码,字符集设置都是UTF8,数据库也是UTF8,一直找不...
使用MYSQL中创建表、或者选择字段时设置的类型不是utf8,而网页编码不是utf8,也可能造成MYSQL中文乱码. PHP页面的字符集与数据库的编码不一致。
因为PHP 连接数据库的过程中会经过三次编码转换,比如输出的的时候 MySql Server(UTF-8) - PHP Connection( Latin1) - UTF8页面的Result(UTF-8) 这时两种编码不兼容则产生乱码。
将浏览器中的编码改成utf-8,数据库中也是。在php页面首行加上header(Content-type: text/html; charset=utf-8);,必须首行,前面不能有输出。
出现乱码的地方有好几个,只要有一个弄错,都会出错。服务器传输编码是否是UTF-8 2,PHP页面编码设置是否UTF-8 3。IDE编码环境是否为UTF-8 数据库连接时,是否有UTF-8的设置。5。
相关问答
Q1: php创建mysql数据表,怎么选择UTF8字符集
)字段编码和表一致,客户端是不同的编码比如下面例子, 表数据的编码是 utf8mb4,而 SESSION 1 发起的连接编码为 gbk。那由于编码不兼容,检索出来的数据肯定为乱码。
view plaincopy vim /etc/mysql/my.cnf 打开my.cnf后,在文件内的[mysqld]下增加如下两行设置:character_set_server=utf8 init_connect=SET NAMES utf8然后保存退出。
创建数据库的时候,直接指定数据库的字符集,之后再该数据库中创建表的时候就不用再指定了,所有创建的表都是跟数据库字符集一样的。
default-collation=utf8_general_ci 重起MySQL:或者查看php配置文件一般是config.php 一般就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。
网页数据一般采用UTF8编码,而数据库默认为latin 。我们可以通过修改数据库默认编码方式为UTF8来减少数据库创建时的设置,也能最大限度的避免因粗心造成的乱码问题。
Q2: php+mysql编码问题
1、编码要一致。看到你在MYSQL中插入了汉字,你的代码文件编码是否GBK,不是的话要改成GBK。或用ICONV函数对你输入到数据库的数据做相应转换,使之与数据库编码一致。
2、PHP文件的编码,PHP实际上是文本文件,保存的时候是可以选择编码的,你用记事本打开选择另存为就可以看见,如果是ANSI就和前面数据库的GB231GBK兼容,UTF8就和UTF8一致。
3、客户端程式(例如php)的连线语系设定问题 正如您设定的一样,建议使用UTF8,可兼容一切字符。
4、典型的编码问题。在php中mysql_connect之后,加一句:mysql_query(set names utf8, $con);用来设置一下编码。php文件的编码(一般是UTF8无BOM)也应该与数据库的编码一致。
5、也许是数据库的问题,我也遇到过,我用的是wampserver,界面的工具,直接点鼠标就可能建成mysql数据库,建成后导入数据,查询数据库返回面而的是乱码,我遇到的情况是这样的:建库用gbk,如图。
6、重起MySQL:或者查看php配置文件一般是config.php 一般就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。
Q3: php连MySQL数据库编码问题
thinkphp5连访问数据库时报错utf-8编码错误,出现中文乱码的原因就是字符编码不统一,出现中文乱码需要添加如下代码。
客户端程式(例如php)的连线语系设定问题 正如您设定的一样,建议使用UTF8,可兼容一切字符。
PHP程序连接数据库之后,要运行下面的语句设置接口编码:输入mysql_query(set names gb2312);第三条应该就是你要的答案了。
去MYSQL里面设置,不要在PHP里设置MYSQL的编码,乱码肯定就是编码问题无疑,推荐你先把MYSQL里面表的编码改好,然后再把PHP的编码改好,这样就应该没问题了。
phpmysql编码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于mysql 编码、phpmysql编码的信息别忘了在本站进行查找喔。





