php如何解决中文乱码问题?

为什么会出现中文乱码?

很多新手朋友学习PHP的时候,发现程序中的中文在输出的时候会出现乱码的问题,那么为什么会出现这种乱码的情况呢?一般来说,乱码的出现有2种原因,一种是由于编码(charset) 设置错误,导致浏览器以错误的编码来解析,从而出现了满屏乱七八糟的“天书”,第二种就是文件被以错误的编码打开,然后保存,比如一个文本文件原先是GB2312 编码的,却以UTF-8 编码打开再保存,就会出现乱码的问题。本篇文章,就带大家了解一下,怎么解决php中乱码的问题。

我们将乱码情况分为以下几种,有需要的可以对照下面的几种情况有针对性的解决乱码问题

第一种:解决HTML中中文乱码问题方法

如果你的HTML文件文件出现了乱码问题,那么你可以在head标签里面加入UTF8编码(国际化编码):UTF-8是没有国家的编码,也就是独立于任何一种语言,任何语言都可以使用的。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

示例

我们现在的HTML5文件,设置编码更为简单,像下面这样

第二种、HTML和PHP混合的页面解决方案

如何是HTML和PHP混编,除了按照第一个方法所说的操作之外,还需要在PHP文件的最上面加入这句代码:

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

第三种、纯PHP页面的中文乱码问题(数据是静态的)

如果你的PHP页面出现了乱码,只需要在页面的开始处加入下面代码就可以了。

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

第四种、PHP+Mysql中文乱码问题

这个除了按照第三种所说的操作之外,还要在你的数据查询/修改/增加之前加入数据库编码。而且,值得注意的是,这里的UTF8和之前的不一样,中间是没有横线的。

 

<?phpmysql_query('SET NAMES UTF8');//接下来的就是查出数据或者修改,增加
?>

 

如何你使用的MySQL版本在 4.1 或更高版本,可以在链接数据库操作后,设置一个字符编码,像下面这样

UTF-8编码只是其中一种编码,如果不想使用utf-8编码,也可以使用其他编码,只需将UTF-8换成你想使用的编码就可以,目前中文网站开发中主要用的是GB2312和UTF-8 两种编码。

有一点要注意的是在需要做数据库操作的php程序前加的 mysql_query("set names '编码'");编码,一定要和php编码一致,如果php编码是gb2312那mysql编码就是gb2312,如果是utf-8那mysql编码就是 utf8,这样插入或检索数据时就不会出现乱码了

【相关推荐】

1. HTML5视频教程:《php.cn原创html5视频教程》

2. php视频教程:《php.cn独孤九贱(4)-php视频教程》

3. php实战视频教程

以上就是php如何解决中文乱码问题?的详细内容

 

转载于:https://www.cnblogs.com/shuilangyizu/p/11065598.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/263719.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

红帽将召开“开放你的世界”在线论坛

国外媒体报道&#xff0c;美国时间5月27日&#xff0c;红帽公司将召开在线开源论坛&#xff0c;主题为“开放你的世界”。时间为美国东部时间8:45-17:30.该论坛讨论的议题包括opensource.com网站所覆盖的健康医疗、教 育、政府、法律等领域。论坛嘉宾包括这些领域的开源思考者及…

sed命令的使用和说明

sed的三种用法1.shell命令行输入命令 格式&#xff1a;sed [选项] ’sed命令‘ 输入文件2.将sed命令出入脚本文件后&#xff0c;sed命令调用格式&#xff1a; sed [选项] -f sed脚本文件 输入文件3.将sed命令插入脚本文件后&#xff0c;三种脚本文件可执行&#xff0c;直接执行…

linux pam模块 cron,Linux-PAM 1.1.2 中文文档 - 6.32. pam_tally-登录计数器(统计)模块 | Docs4dev...

pam_tally.so [file * 2 *] [onerr [* 3 * | * 4 *]] [magic_root] [even_deny_root_account] [deny * 5 *] [lock_time * 6 *] [unlock_time * 7 *] [per_user] [no_lock_time] [no_reset] [审核] [静音] [no_log_info]pam_tally [--file * 9 *] [--user * 10 *] [--rese…

Java提取文本文档中的所有网址(小案例介绍正则基础知识)

正则表达式基础以及Java中使用正则查找 定义&#xff1a; 正则表达式是一些用来匹配和处理文本的字符串 正则的基础&#xff08;先大致了解下&#xff09; 1. 正则表达式的作用 查找特定的信息&#xff08;搜索&#xff09;替换一些文本&#xff08;替换&#xff09;2. 正则基础…

计算机鼓轮

计算机鼓轮是一种计算机早期应用的机械式模数转换器转载于:https://www.cnblogs.com/emanlee/archive/2010/12/08/1900053.html

字符串大小写字母转换c 语言,towlower()

wint_t towlower ( wint_t wc );towlower() 函数用来将大写字母转换为小写字母(针对宽字符)。只有当参数 wc 是一个大写字母&#xff0c;并且存在对应的小写字母时&#xff0c;这种转换才会发生。towlower() 是 tolower() 的宽字符版本。参数wc要被转换的宽字符。它可以是一个有…

Windows与Linux之间海量文件的传输与Linux下大小写敏感问题

Windows与Linux之间海量文件的传输与Linux下大小写敏感问题 mount.cifs 支持通过网络文件系统挂载&#xff0c;不过需要安装cifs-utils&#xff0c;也可通过mount -t cifs挂载&#xff0c;详细的选项可参见man mount.cifs 1. 通过Windows共享文件夹 1.1 设置windows共享1.2 Lin…

Hashtable和HashMap的区别

HashTable的应用非常广泛&#xff0c;HashMap是新框架中用来代替HashTable的类&#xff0c;也就是说建议使用HashMap&#xff0c;不要使用HashTable。可能你觉得HashTable很好用&#xff0c;为什么不用呢&#xff1f;这里简单分析他们的区别。 1.HashTable的方法是同步的&#…

SQL解析之硬解析和软解析

当客户端进程&#xff0c;将SQL语句通过监听器发送到Oracle时, 会触发一个Server process生成&#xff0c;来对该客户进程服务。Server process得到SQL语句之后&#xff0c;对SQL语句进行Hash运算&#xff0c;然后根据Hash值到library cache中查找&#xff0c;如果存在&#xf…

ORA-00018: maximum number of sessions exceeded 超出最大会话数

ORA-00018: maximum number of sessions exceededORA-00018: 超出最大会话数 Cause: All session state objects are in use. 所有会话状态对象都在使用中。 Action: Increase the value of the SESSIONS initialization parameter. 增加会话初始化参数的…

对象关系映射(ORM)及代码生成器和插件C#源码(DBFrameworkV4.5.3)

1. ORM及代码生成器和插件C#源码(DBFrameworkV4.5.3) 一、使用对象关系映射组件Kenly.DBFramework.dll不用编写任何SQL或者存储过程即可实现下列功能&#xff1a;1、数据表、视图和存储过程与对象之间的转换。2、数据表、视图的自定义条件查询。3、数据表、视图的分页查询。4、…

念一城,安一世

时光飞快的流逝&#xff0c;岁月总是行行匆匆&#xff0c;随着迷茫的脚步渐行渐远&#xff0c;伴随着若有若无的孤单心事&#xff0c;猛然间离道阻挡在路中央&#xff0c;才诚惶诚恐的发现&#xff0c;留一份是匆忙&#xff0c;取一分就变成了离殇。在多愁中起步&#xff0c;在…

c语言如何读取mp3歌曲信息,VC中读取mp3文件信息的方法

标准格式的mp3文件中&#xff0c;都有一些自身描述的信息&#xff0c;比如歌曲名称、歌手、专辑名称等信息。这些信息都记录在mp3文件中&#xff0c;而且格式是固定的。那么&#xff0c;我们就可以用编程的方式来获取这些信息。其实说简单一点&#xff0c;就是VC文件读取的操作…

kvm虚拟机热迁移

1. 迁移介绍 迁移&#xff1a; 系统的迁移是指把源主机上的操作系统和应用程序移动到目的主机&#xff0c;并且能够在目的主机上正常运行。在没有虚拟机的时代&#xff0c;物理机之间的迁移依靠的是系统备份和恢复技术。在源主机上实时备份操作系统和应用程序的状态&#xff0c…

使用Backtrace函数打印调用栈 - Debug居家必备

glibc提供了backtrace这个库函数&#xff0c;可以用来打印call stack。比如我们可以在程序中注册常见的一些signal&#xff0c;比如SIGSEGMENT, SIGPIPE&#xff0c;然后在这些信号的回调函数中&#xff0c;利用backtrace打印出call stack&#xff0c;这样debug就非常的方便。 …

《C语言及程序设计》实践项目——三种循环语句

返回&#xff1a;贺老师课程教学链接 【项目1&#xff1a;利用循环求和】求1000以内所有偶数的和要求&#xff1a;请编出3个程序来&#xff0c;分别用三种循环语句完成&#xff0c;注意体会各种循环语句的执行过程及语法特点。[参考解答]【项目2&#xff1a;求阶乘】输入n&…

C语言数组学完学啥,我的c语言学习-数组专题

学到最后的数组专题了。数组数组&#xff0c;怎么着也要是一组数吧&#xff0c;对&#xff0c;数组是按顺序排列的一组同类型的数据构成的集合&#xff0c;用来保存大量同类型的相关数据。一 一维数组定义一个一维数组int a[5],表示有五个元素&#xff0c;a[0]、a[1]、a[2]…

通过图表简化sql语句的表关联

在之前的博文中分享过一个执行了两天的一条sql语句&#xff0c;走了两个大表的扫描&#xff0c;导致执行时间很长&#xff0c;通过简化sql做了不小的改进&#xff0c;今天我们来看看还可以做些什么。 上次简化后的语句如下&#xff1a;with tmp_logical_date as (SELECT logica…

输入三个数,按照由大到小的顺序输出

voidswap(int*p1,int*p2)/*实现两个数交换的函数*/{inttemp; temp*p1;*p1*p2;*p2temp;}voidexchange(int*p1,int*p2,int*p3)/*实现3个数两两比较、交换的函数*/{if(*p1<*p2) swap(p1,p2);/*比较第一个数和第二个数*/if(*p1<*p3) swap(p1,p3);/*比较第一个数和第三个数*/i…

android 自定义text,android – 使用自定义textSize实现自定义TextView

我已经实现了自定义TextView,然后我需要更改其文本大小以供将来使用.在那一步,我决定使用style.xml和attr.xml进行textSize自定义但是,当我的自定义布局膨胀时,我收到运行时错误.与我为了自定义而更改的部件相关的错误.这是我实现的代码片段.attr.xmlstyles.xml?attr/right_de…