目录
你的php网页乱码了吗
首页 php教程 php手册 你的php网页乱码了吗

你的php网页乱码了吗

Jun 13, 2016 am 08:59 AM
php 乱码 学习 编写 网页 设计

你的php网页乱码了吗

   一、

  学习php的童鞋在编写网页的时候,要是设计到中文内容的储存的时候,大多会出现一个问题就是乱码。一般乱码的话,我们可以检查三个方面

  (1)网页编码是否正确,比如是否在头部那里加入原标签

  meta charset="UTF-8">

  (2)检查mysql数据库储存时默认使用的字符集

  (3)检查网页文件的编码,是否为对应的中文编码

  ------------------

  环境:win7+wamp2.2

  ------------------

  二、

  下面我们就第二点开始,mysq数据库使用的编码字符集

  (1)打开mysql终端,查看当前的设置,确定要修改的范围

  show variables like 'char%';

  (2)根据结果进行分析,

  1、如果你显示的结果和我的差不多,即(只有character_set_system编码为utf8)那么清跟随下面的脚步一步步来

 

  2、打开my.ini文件,搜索关键词'mysqld',找到之后,观察是否有这一行

  character_set_server = utf8

  倘若没有的话,则应该像我这样在其下面添加一句

 

  3、再次搜索关键词'client',观察是否有这一行

  default_character_set = utf8

  没有的话在[client]下面添加上

 

  4、保存,重启mysql服务,关闭mysql终端(不然看到的客户端编码不会更新)

  5、再次打开终端,我们再次输入

  show variables like 'char%';

  倘若出现下面的结果,即mysql数据设置成功

 

  三、

  网页文件编码这个问题最容易被忽略,这个是在保存的时候,选择保存文件编码的格式时设置的。

  解决办法:

  1、使用notepad++打开该网页文件,然后在“格式”--“转为UTF-8无BOM编码格式”

 

  2、保存一下就好了

  问题分析:

  1、我在编写php的时候已经使用过

  "font-size:18px;">'set names utf8'); ?>

  但是还是出现乱码问题!

  分析:使用上面语句,修改的只是三项,这三项分别为

  character_set_client

  character_set_connection

  character_set_results

  而且这种修改只是临时性的,关闭终端后又和原来一样

  图片说明:

 

  2、我们对于第三个乱码问题进行分析一下

  (1)使用sublime text3编辑打开php文件。可以看到左下角有编码的信息,可以看到,目前的编码为gb2312

 

  (2)当网页加载的时候,那时也就相当于打开一个文件,那时读取的格式时按照gb2312的编码来读取网页文件,而在用户浏览器显示时,因为网页声明了字符集为utf-8,所以会将得到文件按utf-8字符集来解释内容,这是就会出现乱码了,而我们那些从数据库读取出来的内容却没有问题

  网页编码

 

  原来的gbk编码的文件

 

  后来utf-8编码的文件

 

  (3)注意一点,sublime text3 的转换编码的时候不太给你,虽然显示转换成功,可是呢?显示还是依旧,还是我们的notepad++给力一点,怎么修改前面有!转换成功之后

 

  3、为什么我按照你所说的修改了,在mysql终端下显示,还是乱码呢?

  分析:

  (1)我们先来看看windows下的cmd的使用的字符集是什么?

 

  可以看到,cmd的字符集是gbk,也就是说任何在终端显示的内容会以对应gbk这个字符集,但是我们数据库的中文设置的utf8这个字符集,当我们要显示时,自然会以utf8编码的读取数据库数据,那时编码为utf-8,一到终端就乱套了

  (2)那该怎么查看呢?

  使用phpmyadmin就好了打,当然得设置我们使用的utf-8编码!

        :更多精彩教程请关注帮客之家图文教程 频道,

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1677
14
CakePHP 教程
1431
52
Laravel 教程
1334
25
PHP教程
1280
29
C# 教程
1257
24
如果session_start()被多次调用会发生什么? 如果session_start()被多次调用会发生什么? Apr 25, 2025 am 12:06 AM

多次调用session_start()会导致警告信息和可能的数据覆盖。1)PHP会发出警告,提示session已启动。2)可能导致session数据意外覆盖。3)使用session_status()检查session状态,避免重复调用。

作曲家:通过AI的帮助开发PHP 作曲家:通过AI的帮助开发PHP Apr 29, 2025 am 12:27 AM

AI可以帮助优化Composer的使用,具体方法包括:1.依赖管理优化:AI分析依赖关系,建议最佳版本组合,减少冲突。2.自动化代码生成:AI生成符合最佳实践的composer.json文件。3.代码质量提升:AI检测潜在问题,提供优化建议,提高代码质量。这些方法通过机器学习和自然语言处理技术实现,帮助开发者提高效率和代码质量。

session_start()函数的意义是什么? session_start()函数的意义是什么? May 03, 2025 am 12:18 AM

session_start()iscucialinphpformanagingusersessions.1)ItInitiateSanewsessionifnoneexists,2)resumesanexistingsessions,and3)setsasesessionCookieforContinuityActinuityAccontinuityAcconActInityAcconActInityAcconAccRequests,EnablingApplicationsApplicationsLikeUseAppericationLikeUseAthenticationalticationaltication and PersersonalizedContentent。

如何使用MySQL的函数进行数据处理和计算 如何使用MySQL的函数进行数据处理和计算 Apr 29, 2025 pm 04:21 PM

MySQL函数可用于数据处理和计算。1.基本用法包括字符串处理、日期计算和数学运算。2.高级用法涉及结合多个函数实现复杂操作。3.性能优化需避免在WHERE子句中使用函数,并使用GROUPBY和临时表。

H5:HTML5的关键改进 H5:HTML5的关键改进 Apr 28, 2025 am 12:26 AM

HTML5带来了五个关键改进:1.语义化标签提升了代码清晰度和SEO效果;2.多媒体支持简化了视频和音频嵌入;3.表单增强简化了验证;4.离线与本地存储提高了用户体验;5.画布与图形功能增强了网页的可视化效果。

作曲家:PHP开发人员的软件包经理 作曲家:PHP开发人员的软件包经理 May 02, 2025 am 12:23 AM

Composer是PHP的依赖管理工具,通过composer.json文件管理项目依赖。1)解析composer.json获取依赖信息;2)解析依赖关系形成依赖树;3)从Packagist下载并安装依赖到vendor目录;4)生成composer.lock文件锁定依赖版本,确保团队一致性和项目可维护性。

MySQL的字符集和排序规则如何配置 MySQL的字符集和排序规则如何配置 Apr 29, 2025 pm 04:06 PM

在MySQL中配置字符集和排序规则的方法包括:1.设置服务器级别的字符集和排序规则:SETNAMES'utf8';SETCHARACTERSETutf8;SETCOLLATION_CONNECTION='utf8_general_ci';2.创建使用特定字符集和排序规则的数据库:CREATEDATABASEexample_dbCHARACTERSETutf8COLLATEutf8_general_ci;3.创建表时指定字符集和排序规则:CREATETABLEexample_table(idINT

怎样在C  中使用type traits? 怎样在C 中使用type traits? Apr 28, 2025 pm 08:18 PM

typetraits在C 中用于编译时类型检查和操作,提升代码的灵活性和类型安全性。1)通过std::is_integral和std::is_floating_point等进行类型判断,实现高效的类型检查和输出。2)使用std::is_trivially_copyable优化vector拷贝,根据类型选择不同的拷贝策略。3)注意编译时决策、类型安全、性能优化和代码复杂性,合理使用typetraits可以大大提升代码质量。

See all articles