我必须第一次处理编码,我对PHP、Apache和浏览器如何处理编码感到困惑。PHP和Apache默认使用ISO-8859-1,但大多数网站是UTF-8。什么时候ISO-8859-1转换成了UTF-8?另外,由于PHP使用了ISO-8859-1,为什么它可以读取UTF-8网页?

您可以在页面的标题中定义charcode!检查页首

我是一个初学者编码,但我的理解是,要改变网页的编码,网页的二进制成分必须改变?如果php想要输出utf-8,除了发送一个HTTP头或HTML标记,它还需要做更多的工作吗?

默认情况下,基于您的代码,php在php.ini中使用iso-8859-1,但您可以使用例如header("content-type:text/html;charset=")更改输出或使用meta标记,html5删除用于编码的meta标记

我的意思是,发送一个头部只会告诉浏览器哪个编码的网页被编码为,但它不应该影响哪个编码的PHP将网页输出为。如果php将一个网页编码为iso-8859-1,并告诉浏览器它是utf-8,那么浏览器就不能将其读取为utf-8。

默认情况下,Apache不"使用"任何编码,它的工作与理解或转换文本编码几乎没有任何关系。默认情况下,php不"使用"iso-8859,php的字符串没有相关的编码。

事实上,许多PHP的核心字符串函数在其操作中都采用ASCII或ISO-8859编码,并且没有适当的装备来处理其他编码。但是,值得再次说明的是,作为数据类型的php字符串本身没有任何编码,没有什么可以阻止您在php和php中的任何编码中使用字符串,甚至提供了在几乎任何任意编码中正确处理字符串操作的函数。所以,只要你做的正确,没有什么能阻止你用PHP处理和输出UTF-8。

因此,Apache根本不关心您发送给客户机的确切内容,它在以任何编码(或二进制数据)输出文本方面都不会妨碍任何人。它唯一能做的就是向响应中添加这样的HTTP头:

Content-Type: text/html; charset=iso-8859-1

此头仅用于通知客户端它接收的内容。这个头部并不是以任何方式基于您发送的实际内容,Apache既不关心也不检查也不转换任何内容。它只是设置这个标题,这就是它所做的一切。您应该将Apache配置为设置正确的charset值,该值与您实际从PHP输出的编码相对应,其默认值只是iso-8859-1。或者您可以自己从PHP设置一个Content-Type头,以防止Apache添加一个。这就是全部。

有关更多信息,请参阅每个程序员绝对、积极地需要了解的关于编码和字符集的内容,以便在Web应用程序中前后处理Unicode。

php iso 8859 1 解码,关于php:Apache的默认编码是ISO-8859-1,但网站是UTF-8?相关推荐

  1. 解决apache服务器默认编码为西欧编码的问题

    将AddDefaultCharset ISO-8859-1 改为 AddDefaultCharset GB2312

  2. 《深入理解Elasticsearch(原书第2版)》——第2章 查询DSL进阶 2.1 Apache Lucene默认评分公式解释...

    本节书摘来自华章计算机<深入理解Elasticsearch(原书第2版)>一书中的第2章,第2.1节,作者 [美]拉斐尔·酷奇(Rafal Ku)马雷克·罗戈任斯基(Marek Rogoz ...

  3. wamp php字符编码,关于Apache默认编码错误 导致网站乱码的解决方案

    最近经常有同学在使用LAMP/WAMP时,遇到这样的编码错误问题: A网站程序编码UTF-8编码安装成功,运行成功. B网站程序编gb2312也要安装在同一服务器上. 这样就出现问题了,Apache默 ...

  4. 修改Apache的默认站点目录的方法,需要的朋友可以参考下

    由于博客系统崩了,所以要考虑重新建立博客系统,首先遇到的一个问题就是原来的博客系统是安装一个独立的磁盘上面的(http://m.0834jl.com)不是安装在系统盘上面的,然而一般在linux下面安 ...

  5. Apache以及PHP的默认编码问题解决(详解)

    如果你在网上搜索 "apache配置",搜到的页面大多都会建议你在httpd.conf中加上这么一句:AddDefaultCharset GB2312.对于新手而且是只用GB231 ...

  6. macosx下apache的默认用户为daemon

    环境macosx, xampp. 其中apache的默认账户为daemon,若想对htdocs下的文件做写操作,必须改动该文件夹的用户权限: chown daemon:daemon MYDIR chm ...

  7. 基于 CoreAudio 的音频编解码(二):音频编码

    系列文章目录 基于 CoreAudio 的音频编解码(一):音频解码 基于 CoreAudio 的音频编解码(二):音频编码 前言 在 基于 CoreAudio 的音频编解码(一):音频解码 中,我们 ...

  8. 基于 FFMPEG 的音频编解码(三):音频编码

    音频编码 基于 FFMPEG 的音频编解码(一):Hello FFMPEG,安装与编译 基于 FFMPEG 的音频编解码(二):音频解码 基于 FFMPEG 的音频编解码(三):音频编码 在前面文章中 ...

  9. php默认站点,PHP学习之Apache修改默认站点的目录

    在Mac OS X中可以很方便的通过开启"Web共享"启用Apache服务: 设置方法如下: 打开"系统设置偏好(System Preferences)" -& ...

最新文章

  1. 2022-2028年中国加气站行业市场研究及前瞻分析报告
  2. 软件隐喻的本质与模式
  3. Android超简单的进度条源码
  4. Codeforces - 1118D2 - Coffee and Coursework (Hard Version) - 二分
  5. Javascript——说说js的调试
  6. linux复制文件夹 实例,linux复制文件夹与文件实例介绍linux操作系统 -电脑资料
  7. Linux下WPS自主设置快捷键,电脑wps的word怎么自主设定快捷键
  8. 计算机术语局部性,【计算机基础】程序的局部性简介
  9. python3.5模块大全-python tkinter模块使用大全(超全)
  10. linux suse最新版本,SUSE Linux Enterprise Server 15 正式发布
  11. 2021年中国一次性个人防护装备市场趋势报告、技术动态创新及2027年市场预测
  12. 转换和删除重复命令tr
  13. fpga挂一片ddr2_FPGA片外存储器之DDR2控制器2
  14. python123基本统计值计算_基本统计值计算
  15. 在线swf转html,swf转换器
  16. python多叉树_python中高效的四叉树实现
  17. 全球分布式数据库:Google Spanner(论文翻译)
  18. 粗浅看Struts2和Hibernate框架
  19. 世界各国简称 英文名称 电话区号JSON数据包
  20. 十一. MySQL InnoDB 三大特性之 BufferPool

热门文章

  1. 永恒之蓝(MS17-010)补丁KB号
  2. php中提取现在的时间函数,php中时间函数date及常用的时间计算
  3. python判断奇数_python 中x%2 x1 判断偶数奇数 性能对比
  4. 1.文档数据非结构化
  5. BootstrapTable分页参数
  6. 基于类和对象的高精度算法封装
  7. 小白浅论JAVA数组中“for加强版”
  8. memcached的缺点
  9. Exchange 2013 、Lync 2013、SharePoint 2013 三
  10. python beautifulsoup多线程分析抓取网页