解决PHP页面的乱码问题

作者: 小月雨田 分类: web技术 发布时间: 2019-10-22 21:04

  在今天之前,一直尝试给Chevereto的首页添加备案号,但总是出现乱码问题。今天花了半天的时间研究,终于解决了这个问题。备案号乱码
  页面中文出现乱码,肯定是编码出了问题。首先,确认页面的head标签里是否加入了UTF8编码声明,如果没有,先加入这个声明:

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta charset=utf-8"/>
    <!-- 上述两行二选一,Html5文件可选择第二行,其它文件可选择第一行。-->
</head>

  如果是Html和PHP混合页面或者纯PHP页面(静态数据),则还需要在PHP文件或者页面开始处加入以下代码。

<?php
header("content-type:text/html;charset=utf-8");         //设置编码
?>

  如果页面有类似的编码声明,就要考虑数据库编码的问题。可以在数据库链接的PHP代码出,加入以下代码,修改数据库连接字符集:

$con=mysqli_connect("localhost","root","123456","RUNOOB"); 
//数据库链接,假定数据库用户名:root,密码:123456,数据库:RUNOOB
mysqli_set_charset($con,"utf8");
//修改数据库连接字符集为 utf8

  很遗憾,我这次遭遇的乱码问题,都不是上面提到的原因。因为我添加备案号以后,只有备案号部分出现中文乱码,页面其它中文显示都正常。这就让我非常迷惑,到底是哪里的编码不对呢?
  一直到我偶然用,在线打开之前在本地编辑好,然后上传到服务器的PHP文件,发现里面输出的中文全是乱码,才意识到这可能是FlashFXP自带的编辑器的编码问题。FlashFXP自带的编辑器
  因为以前虽然也通过FlashFXP自带的编辑器编辑过PHP文件,但修改的都只是英文字符,不涉及中文,所以没有出现乱码的问题,这就让我忽略了中文乱码的问题。
Notepad++编码
  于是赶紧把首页的PHP文件下载下来,用本地的Notepad++修改。修改前,我还特意检查,确认是UTF8编码。Notepad中文无乱码
  上传到服务器上,发现备案号的中文已经能够正常显示。备案号正常显示
  再用FlashFXP自带的编辑器打开上传的文件,发现中文部分居然是乱码。这就证明了问题的确是出在FlashFXP自带的编辑器上。自带的编辑器乱码
  总结:PHP页面出现乱码,肯定是编码问题。一般来说,从三个方面去检测:程序端、编辑器以及数据库。很显然,我这次的问题是出在编辑器端。

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

一条评论
  • 我的ID忘记了

    2020年2月29日 上午9:38

    很好,解决了我的问题!

回复 我的ID忘记了 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注