广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php html页面中文乱码问题怎么解决
  • 577
分享到

php html页面中文乱码问题怎么解决

phphtml乱码 2023-05-14 19:05:53 577人浏览 独家记忆
摘要

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

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

php html页面中文乱码问题怎么解决

教程操作环境:windows10系统、PHP8.1版、DELL G3电脑

php html页面中文乱码问题怎么解决?

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

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

(注:关于字符编码请参见百度百科:Http://baike.baidu.com/view/1204863.htm?fr=aladdin)

前端网页编码:

通常我们都认为可以通过<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语句时分号不可以省略)可以看到类似下图:

上面列举了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页面中文乱码问题怎么解决的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: php html页面中文乱码问题怎么解决

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

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

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

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

下载Word文档
猜你喜欢
  • php html页面中文乱码问题怎么解决
    php html页面中文乱码问题的解决办法:1、在前端通过“”设置整个页面的字符编码;2、在php中通过“header("content-type:text/html; charset=xxx");”设置字符即可。本教程...
    99+
    2023-05-14
    php html 乱码
  • 怎么解决php web页面的乱码问题
    随着互联网的普及,越来越多的网站采用PHP语言来构建其网站开发,PHP已经成为了众多网站开发者的热门选择。但是在PHP的开发过程中,经常会出现一种令人头疼的问题:乱码。特别是在Web页面中,乱码问题更是常见。下面本文将结合实际案例,为大家讲...
    99+
    2023-05-14
  • html页面里中文乱码怎么解决
    小编给大家分享一下html页面里中文乱码怎么解决,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 中文...
    99+
    2022-10-19
  • php html页面中文乱码如何解决
    本文小编为大家详细介绍“php html页面中文乱码如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“php html页面中文乱码如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。php html页面中...
    99+
    2023-07-05
  • php页面输出值乱码问题怎么解决
    在开发PHP应用程序时,经常会遇到输出到页面的值出现乱码的问题。这是因为PHP输出到页面的值是通过编码的方式传输的,而常见的字符编码包括UTF-8、GBK、GB2312等,如果输出的编码格式不正确,就会出现乱码问题。在PHP中,可以通过以下...
    99+
    2023-05-14
    php 乱码
  • PHP怎么解决中文乱码问题
    这篇文章主要介绍“PHP怎么解决中文乱码问题”,在日常操作中,相信很多人在PHP怎么解决中文乱码问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP怎么解决中文乱码问题”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-17
  • html页面乱码怎么解决
    随着互联网的飞速发展,网页成为人们获取信息、交流沟通的主要途径之一。而网页中出现乱码,无论是对用户还是开发人员,都是一种不愉快的体验。本文将介绍常见的html页面乱码问题及其解决方案。一、乱码的原因编码不一致:网站的编码与浏览器的默认编码不...
    99+
    2023-05-14
  • 解决VuePress页面乱码问题
    目录VuePress页面乱码问题官方步骤VuePress 初探建立文件夹安装 vuepress初始化新建文件夹配置页面启动乱码VuePress页面乱码问题 公司有一个业务场景,需要用...
    99+
    2022-11-13
  • 怎么解决php传递页面参数乱码问题
    本篇内容主要讲解“怎么解决php传递页面参数乱码问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决php传递页面参数乱码问题”吧!php传递页面参数乱码的解决办法:1、打开相应的PHP代...
    99+
    2023-06-22
  • PHP怎么解决AJAX中文乱码问题
    这篇文章主要介绍“PHP怎么解决AJAX中文乱码问题”,在日常操作中,相信很多人在PHP怎么解决AJAX中文乱码问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP怎么解...
    99+
    2022-10-19
  • php fpdf中文乱码问题怎么解决
    FPDF是一款用于生成PDF文档的PHP类库,它允许生成PDF文件而无需使用PDF文档编辑器。但是,在使用FPDF生成中文PDF文档时,可能会出现中文乱码的问题。这个问题在一些网站论坛中也经常出现。如何解决这个问题呢?首先了解一下PDF文件...
    99+
    2023-05-14
  • 怎么解决html乱码问题
    这篇文章主要介绍怎么解决html乱码问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在html中,可以通过在head节点加入meta标签,匹配好html文件的编码格式来解决html乱码问题,语法格式“”。本教程操作...
    99+
    2023-06-15
  • 怎么解决php文件中文名乱码问题
    这篇文章主要介绍了怎么解决php文件中文名乱码问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php文件中文名乱码的解决办法:1、在php文件的头部加入charset代码:...
    99+
    2023-06-22
  • 怎么解决php压缩中文乱码问题
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。怎么解决php压缩中文乱码问题?解决php使用ZipArchive解压时中文乱码问题(纯php,绕开ZipArchive)解决php使用ZipArchive解压时中文...
    99+
    2022-11-14
  • 怎么解决php的exit中文乱码问题
    这篇文章将为大家详细讲解有关怎么解决php的exit中文乱码问题,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑如何解决p...
    99+
    2023-06-29
  • 如何解决html网页乱码问题
    这篇文章主要为大家展示了“如何解决html网页乱码问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决html网页乱码问题”这篇文章吧。组成html网页乱...
    99+
    2022-10-19
  • php页面输出值乱码问题如何解决
    这篇文章主要介绍了php页面输出值乱码问题如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php页面输出值乱码问题如何解决文章都会有所收获,下面我们一起来看看吧。1.设置字符集PHP应用程序输出到页面的字...
    99+
    2023-07-05
  • 【zabbix】解决zabbix在web页面显示中文乱码问题
    文章目录 问题解决方法查验 问题 问题所在处:在web页面来添加图形,实时监控数据的时候我们一般会写中文,可是,添加完成之后发现中文是乱码,那么我们这期就来解决这个问题;图如下...
    99+
    2023-09-01
    zabbix 服务器 php
  • 怎么在html中解决tomcat乱码问题
    本篇文章为大家展示了怎么在html中解决tomcat乱码问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。解决tomcat 静态页面(html)中文乱码终极篇tomcat 中jsp不会乱码 但是ht...
    99+
    2023-06-15
  • ajax中文乱码问题怎么解决
    本篇内容主要讲解“ajax中文乱码问题怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ajax中文乱码问题怎么解决”吧! a...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作