广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php html页面中文乱码如何解决
  • 934
分享到

php html页面中文乱码如何解决

2023-07-05 00:07:41 934人浏览 薄情痞子
摘要

本文小编为大家详细介绍“PHP html页面中文乱码如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“php html页面中文乱码如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。php html页面中

本文小编为大家详细介绍“PHP html页面中文乱码如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“php html页面中文乱码如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

php html页面中文乱码问题的解决办法:1、在前端通过“”设置整个页面的字符编码;2、在php中通过“header("content-type:text/html; charset=xxx");”设置字符即可。

前端网页、php与mysql数据库字符编码(解决中文等乱码问题

web开发中经常涉及前端网页——php——Mysql之间的数据交互,当数据只有英文时通常不会有什么问题,但一旦涉及中文,三个地方的某一处字符编码不一致(如,网页使用的时gbk而mysql使用utf-8)就有可能导致乱码的出现。

前端网页编码:

通常我们都认为可以通过<head>标签内的<meta>项(如<META Http-equiv="content-type" content="text/html; charset=xxx">)来设置整个页面的字符编码。大部分页面可以采用这种方式来告诉浏览器显示这个页面的时候采用什么编码,但是有的时候我们会发现有了这句还是不行,不管xxx是哪一种,浏览器采用的始终都是一种编码。

这种情况涉及到http协议通信中的头部(header)部分,实际上,用户浏览网页时,服务器发送给用户的内容不仅包括我们的网页(包括html/CSS/js这些代码内容),还包括被称为头部(header)的描述性内容,这些内容会告知客户端将要接收的数据的类型(是html还是纯文本还是多媒体文件等)、大小、来源等信息(如果想要看一下这些信息,可以使用telnet工具(而不是通过浏览器)按照http协议自己发起get等请求试试)。由于头部是优先于html发送的,<meta>作为html的一部分其优先级也低于头部,如果在头部中已经包含了有关网页字符编码的描述,浏览器最终就会按头部中说明的字符编码集来解析网页。

在php中,可以使用 header("content-type:text/html; charset=xxx"); 来发送关于字符集的头部。

而对于apache服务器来说,它具有一个ADDDefaultCharset的功能,也就是会为每个发送的网页按照服务器默认的字符集设定好对应头部。

查看/etc/apache2/httpd.conf(2.4之前)或/etc/apache2/conf-available/charset.conf(2.4及以后),里面有一句AddDefaultCharset xxx如果这一句未处于注释状态,那么为每个网页添加默认字符集头部的功能就处于开启状态,此时单独设置<meta>标签里的字符集便没有效果。

注意:html页面所标明的编码方式应该与实际在编写html页面(其实就是纯文本)时保存所用的编码方式一致。

一般而言,为了兼容中文甚至更多的其它语言,使用utf-8编码方式是最省事的一种方式,因为utf-8几乎支持世界上的所有常用语言。

mysql数据库编码:

在终端下mysql -uusername -ppassWord 后进入mysql的控制程序,再键入show variables like 'character%'; (注意往mysql终端中键入命令语句或sql语句时分号不可以省略)可以看到类似下图:

php html页面中文乱码如何解决

上面列举了mysql在各个层面上所使用的字符集,其中(*)

character-set-server/default-character-set:服务器字符集,默认情况下所采用的。
character-set-database:数据库字符集。
character-set-table:数据库表字符集。
优先级依次增加。所以一般情况下只需要设置character-set-server,而在创建数据库和表时不特别指定字符集,这样统一采用character-set-server字符集。
character-set-client:客户端的字符集。客户端默认字符集。当客户端向服务器发送请求时,请求以该字符集进行编码。
character-set-results:结果字符集。服务器向客户端返回结果或者信息时,结果以该字符集进行编码。
在客户端,如果没有定义character-set-results,则采用character-set-client字符集作为默认的字符集。所以只需要设置character-set-client字符集。

于是我们会发现,上图所示的character-set-server使用的不是utf8(注:在mysql中,utf-8编码方式的表示为utf8,没有“-”)。这是因为mysql默认的存储方式在没有修改的情况下就是latin1。在这种情况下,我们在使用mysql终端进行创建数据库和数据表的操作时,若在sql语句中没有指定所使用字符集,那么存储时使用的编码方式就会是latin1,明显,中文存放在这种本来用于存放拉丁文的编码方式下显示出来肯定是乱码。

那么怎么修改它呢,可以使用set character-set-server = utf8;(由于character-set-server优先级高,只修改它即可达到修改数据库存储编码方式的效果)。此后在终端里使用sql建表时表的存储编码方式即是utf-8。

但是,这个修改只对当前服务有效,使用quit;退出后再次进入mysql终端就会发现字符集又变回了latin1了。想要使修改永久生效的方法我目前找到的资料显示只有通过重新编译mysql时修改编译参数达到,如果有高手知道怎么不通过编译实现烦请留言告知。

php编码:

那么,说到了mysql,php在和mysql进行交互时要怎么保证传输数据过程中不出现乱码呢?

按照(*)处的描述,实际上,为了使得存入mysql和从mysql中取出数据时不出现乱码,我们只要使得以下三个系统参数设置为与服务器字符集character-set-server相同的字符集。 他们是:
character_set_client:客户端的字符集。
character_set_results:结果字符集。
character_set_connection:连接字符集。
设置这三个系统参数可以通过向MySQL发送语句:set names xxx (xxx可以是utf8)来实现

因此,当涉及从php往mysql发送中文等非英文字符时,在mysql_connect语句后使用mysql_query("set names utf8");语句(这里假设数据库存储用的是utf8)后就可以放心传送和取回中文了。

此外,由于html页面实际上也可能由php动态生成,怎么保证php动态生成的页面所使用的编码方式和头部或<meta>里声明的一样呢?

在php目录下找到php.ini文件修改default_charset = "utf-8“即可使得php在输出页面时使用utf-8来编码。

读到这里,这篇“php html页面中文乱码如何解决”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网PHP编程频道。

--结束END--

本文标题: php html页面中文乱码如何解决

本文链接: https://www.lsjlt.com/news/348763.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php html页面中文乱码如何解决
    本文小编为大家详细介绍“php html页面中文乱码如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“php html页面中文乱码如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。php html页面中...
    99+
    2023-07-05
  • php html页面中文乱码问题怎么解决
    php html页面中文乱码问题的解决办法:1、在前端通过“”设置整个页面的字符编码;2、在php中通过“header("content-type:text/html; charset=xxx");”设置字符即可。本教程...
    99+
    2023-05-14
    php html 乱码
  • html页面里中文乱码怎么解决
    小编给大家分享一下html页面里中文乱码怎么解决,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 中文...
    99+
    2022-10-19
  • php页面中文乱码的解决方法
    这篇文章给大家分享的是有关php页面中文乱码的解决方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php页面中文乱码的解决办法:1、在PHP文件的最上面加入“<meta http-equiv="...
    99+
    2023-06-07
  • html页面乱码怎么解决
    随着互联网的飞速发展,网页成为人们获取信息、交流沟通的主要途径之一。而网页中出现乱码,无论是对用户还是开发人员,都是一种不愉快的体验。本文将介绍常见的html页面乱码问题及其解决方案。一、乱码的原因编码不一致:网站的编码与浏览器的默认编码不...
    99+
    2023-05-14
  • dw php网页中文乱码如何解决
    今天小编给大家分享一下dw php网页中文乱码如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。dw php网页中文乱码...
    99+
    2023-07-04
  • html如何解决中文乱码
    小编给大家分享一下html如何解决中文乱码,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! HTML中...
    99+
    2022-10-19
  • java页面中文乱码解决方法
    设置eclips , window->Preferences->web->JSP Files中的Encoding选项为UTF-8修改jsp文件头部为UTF-8设置servlet中request对象编码public class Registe...
    99+
    2015-12-27
    java 乱码
  • tomcat页面乱码如何解决
    要解决Tomcat页面乱码的问题,可以尝试以下几个方法:1. 设置Tomcat的默认字符编码:在Tomcat的配置文件server....
    99+
    2023-09-25
    tomcat
  • html页面运行时出现乱码如何解决
    这篇文章主要介绍“html页面运行时出现乱码如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“html页面运行时出现乱码如何解决”文章能帮助大家解决问题。 h...
    99+
    2022-10-19
  • php页面字符出现乱码如何解决
    要解决 PHP 页面字符乱码问题,可以尝试以下几种方法:1. 设置字符编码:在 PHP 页面的头部添加以下代码,指定页面的字符编码为...
    99+
    2023-08-19
    php
  • PHP中文乱码如何解决
    这篇文章主要介绍“PHP中文乱码如何解决”,在日常操作中,相信很多人在PHP中文乱码如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP中文乱码如何解决”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-07-05
  • gitlab页面文件乱码怎么解决
    最近,很多使用 GitLab 的用户都反应了一个问题:在 GitLab 中,访问页面时,时不时地会出现页面乱码的情况,这给用户带来了一定的困扰。那么,这个问题是如何产生的呢?如何解决呢?产生原因首先,我们需要知道这个问题产生的原因。在 Gi...
    99+
    2023-10-22
  • php页面输出值乱码问题如何解决
    这篇文章主要介绍了php页面输出值乱码问题如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php页面输出值乱码问题如何解决文章都会有所收获,下面我们一起来看看吧。1.设置字符集PHP应用程序输出到页面的字...
    99+
    2023-07-05
  • 如何解决html网页乱码问题
    这篇文章主要为大家展示了“如何解决html网页乱码问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决html网页乱码问题”这篇文章吧。组成html网页乱...
    99+
    2022-10-19
  • html网页出现乱码如何解决
    本篇文章为大家展示了html网页出现乱码如何解决,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。html有什么特点1、简易性:超级文本标记语言版本升级采用超集方式,从而更加灵活方便,适合初学前端开发者...
    99+
    2023-06-14
  • php pdf 中文乱码如何解决
    这篇文章主要介绍“php pdf 中文乱码如何解决”,在日常操作中,相信很多人在php pdf 中文乱码如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php pdf 中文乱码如何解决”的疑惑有所帮助!...
    99+
    2023-06-20
  • php dompdf中文乱码如何解决
    本篇内容主要讲解“php dompdf中文乱码如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php dompdf中文乱码如何解决”吧!php dompdf中文乱码的解决办法:1、打开前端...
    99+
    2023-07-05
  • php cmd中文乱码如何解决
    这篇“php cmd中文乱码如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php cmd中文乱码如何解决”文章吧。p...
    99+
    2023-07-04
  • 如何解决ajax+php中文乱码
    本篇内容主要讲解“如何解决ajax+php中文乱码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决ajax+php中文乱码”吧!AJAX的乱码的出现在的原因 由于XMLHTTP采用的是Un...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作