我怎么能知道什么编码将被PHP将数据发送到浏览器中使用当前编码?即使用Cotent-Type头,例如:iso-8859-1。PHP:用于将数据发送到浏览器
回答
webhosters的Apache + PHP服务器通常配置为发送NO charset
标头。 测试服务器是如何配置的捷径是这些:
- 使用this tool to see the server header通过让你的网站页面中的任何一个。 如果在服务器头文件中看到
charset
这意味着您的服务器正在使用它,通常它不会包含charset
。 - 另一种方法是在服务器上运行这个简单的脚本:
<?php echo ini_get('default_charset'); ?>
正如上面说这通常打印出一个空字符串,如果不同它会告诉你的PHP的charset
。
第2解决方案是假设Apache不与AddDefaultCharset some_charset
配置这是不常见的情况,但在这种情况下,恐怕Apache的设置可能会重写PHP deafult_charset INI指令。
你可以设置自己与,但我相信,text/html的默认情况下发送。
据我所知,PHP将字符串按字节。也就是说,如果你的变量保存UTF-8,它将发送UTF-8。如果你有iso-8859-1,它也会发送。如果你把它们混合在一起,它不会很漂亮。
正确 - 我正在使用mb_ *字符串转换函数将我的字符串转换为“默认使用的PHP编码”。但为了正确地进行转换,我需要知道PHP将使用的编码。 – avernet 2008-09-24 23:15:44
您可以使用头()解决方案,威廉建议,但是如果你正在运行的Apache和Apache的配置使用默认字符集,这将赢得每次(Internet Explorer将发疯)看:AddDefaultCharset
请记住,内容类型和编码是两码事。 text/html是内容类型; ISO-8859-1和UTF-8是编码。
HTTP响应报头服务器发送通常看起来像这样:
Content-Type: text/html; charset=utf-8
“字符集”实际上是字符编码。这不是在一个单独的标题;然而有一个名为“内容编码”头其实际上规定了什么压缩的响应的用途(例如gzip的)的种类。
如果你想的字符编码改为UTF-8,在包含HTML文件:
<?
header("Content-Type: text/html; charset=utf-8");
也许我的问题并不清楚:我不想设置编码。我想知道编码将由PHP设置,如果我没有设置。我想知道默认编码是什么。 – avernet 2008-09-24 23:42:20
如果您的服务器没有配置为具有默认的内容或字符集,也不是PHP, PHP将只Content-Type: text/html
派 - 它不会在所有指定字符集,当它看到他们的脚本将发送的字节数。
如果浏览器不接收字符集指定的页面,各种事情都可能发生:
- 大多数浏览器有一个“编码/字符集”菜单;如果用户明确选择了一个,浏览器将尝试应用它。往往不会发生,那么:(和语言环境相关,例如,对于FF cs_CZ它使用的是
iso-8859-2
;因人而异) - 某些浏览器尝试用默认的字符集,以使其
- IE将尝试确定字符集启发式(它会采取一种猜测,基于字符的分布 - 很多时候它得到它的权利;有时它得到它错了,你在罗马尼亚获得一个页面解读为中国文字,这通常意味着“不可读”)
- 一些旧的浏览器会回退
us-ascii
如果用这个程序,PHP脚本的字符集和眉毛呃的字符集匹配,文本将 - 意外 - 可读。否则,会出现奇怪的迹象和类似的现象。
- 1. 发送数据到浏览器
- 2. node.js:将数据从服务器发送到html浏览器
- 3. Gzip已数据被发送到浏览器在PHP
- 4. 将pdf从wp_remote_get发送到浏览器
- 5. 如何将数据推送到客户端浏览器php
- 6. 关于nodejs将数据推送到浏览器开源框架
- 7. 无法将数据分块发送到浏览器
- 8. 将数据发送到浏览器在等待(Python)的
- 9. 如何将一些数据从Windows发送到浏览器?
- 10. 如何将数据发送到手机号码从浏览器
- 11. Java servlet为将数据发送到浏览器
- 12. 如何将数据从网站发送到浏览器?
- 13. 如何使用Qt HTML5应用程序向浏览器发送数据和从浏览器发送数据
- 14. 未将PHP头文件发送到浏览器
- 15. 从我的C#应用程序发送数据到浏览器
- 16. 使用HttpWebRequest发送HTML到浏览器
- 17. 将数据发送到PHP服务器
- 18. 发送数据到服务器在浏览器关闭
- 19. 通过PHP发送浏览器标题
- 20. 通过http将数据从服务器推送到浏览器
- 21. PHP流excel数据到浏览器
- 22. 发送OutputStream到浏览器并让浏览器保存它
- 23. 如何在webrtc中发送短信浏览器到浏览器?
- 24. 如何将数据从浏览器发送到服务器并回复回复
- 25. 如何安全地将敏感数据从浏览器发送到服务器?
- 26. 如何使用php与TCPDF内联发送到浏览器
- 27. 浏览器在发送群发邮件时遇到问题php
- 28. 浏览器将发送我的cookie
- 29. 将数据发送到PHP数据库
- 30. 可以轨道块发送数据到浏览器块?
我不想把它,我想知道什么是默认的内容类型将被设置,如果我没有设定一个。 – avernet 2008-09-24 23:11:12