php网页抓取乱码(mysql设置utf8_unicode字符集_ci字符集字符集页面输出?)

优采云 发布时间: 2022-01-02 14:07

  php网页抓取乱码(mysql设置utf8_unicode字符集_ci字符集字符集页面输出?)

  一位同事问我关于乱码的问题。乱码有很多种,比如数据库乱码,页面提取数据乱码,其他显示正常,phpmyadmin显示也正常等,MySQL对中文的支持还是很有限的。尤其是对于新手来说,遇到乱码问题,就会头大。他的问题如下。

  标题:mysql设置utf8_unicode_ci字符集php页面输出??乱码的解决方法

  摘要:使用PHPmyAdmin操作MySQL数据库汉字显示正常,但是使用PHP网页显示MySQL数据时,汉字全部变成?标志

  乱码问题:使用PHPmyAdmin操作MySQL数据库时,MySQL数据库汉字显示正常,但PHP网页显示MySQL数据时,汉字全部变成?标志。

  现象:用PHPmyAdmin输入汉字是正常的,但是当PHP网页显示MySQL数据时,汉字变成了?标志,有多少?符号,因为有多少个汉字。

  原因:PHP网页中没有代码告诉MySQL用什么字符集输出汉字。

  解决方案:

  1.网页文件头设置编码

  2.PHP页面保存时使用utf-8编码,可以使用记事本或者convertz802进行文件转换

  3.MYSQL新建数据库时,选择UTF-8编码和数据库的字符集,设置为utf-8_unicode_ci(Unicode(多语言),不区分大小写),

  库中表的排序设置为utf-8_general_ci

  表中各个字段的排序设置为utf-8_general_ci

  4.PHP连接数据库时,在mysql_connect()之后添加

  //设置数据的字符集utf-8

  mysql_query("设置名称'utf8'");

  mysql_query("set character_set_client=utf8");

  mysql_query("set character_set_results=utf8");

  注意是utf8,不是utf-8。

  如果您的网页编码为 gb2312,则为 SET NAMES GB2312。不过小编强烈建议网页编码、MySQL数据表字符集、PHPmyAdmin都统一使用UTF-8。

  以上四点可以实现整个站点的utf-8编码,数据库中不会出现中文乱码。

  乱码问题2:用PHPmyAdmin输入数据时出错,不允许输入或乱码。

  解决方案:这是一个设置问题。请安装最新版本的PHPmyAdmin或Appserv,打开PHPmyAdmin,MySQL字符集:UTF-8 Unicode(utf8);MySQL连接校对应为utf8_unicode_ci;新建数据库时也请选择utf8_unicode_ci。网页字符为也最好选择utf-8进行采集。utf-8是国际标准编码,这是一种趋势。

  乱码问题2:本机开发的MySQL数据表,在本机测试一切正常,但使用空间商提供的PHPmyAdmin上传时出现问题,上传失败。尤其是使用国外的PHP空间。

  解决方法:首先检查网站提供的PHPmyAdmin字符集设置,并确保您构建的数据表与服务提供者的代码相同。国外MySQL不支持gb2312,甚至最新版的Apache也不支持gb2312。如果是因为编码不统一,可以重建数据表,当然使用国际标准UTF8。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线