LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1974|回复: 16

为什么我的APACHE总是不支持PHP?而且页面显示的汉字总是乱码???

[复制链接]
发表于 2006-1-11 10:18:18 | 显示全部楼层 |阅读模式
为什么我的APACHE总是不支持PHP?而且页面显示的汉字总是乱码???
请教!!
发表于 2006-1-11 11:54:06 | 显示全部楼层
新手?
装上PHP软件了吗?

中文乱码, 试试在配置文件里加上

AddDefaultCharset GBK
回复 支持 反对

使用道具 举报

发表于 2006-1-11 12:05:40 | 显示全部楼层
Post by pointer
新手?
装上PHP软件了吗?
中文乱码, 试试在配置文件里加上
AddDefaultCharset GBK

不提倡这样做。
建议这样做:
网上很多人解决Apache中文乱码的方法是修改Apache 的配置文件conf/httpd.conf,将AddDefaultCharset ISO-8859-1 改成 AddDefaultCharset GB2312。

这种方法是极不负责任的!一但你这样改,以后Apache要是遇见编码为UTF-8等非GB2312的源文件,很有可能就会出错。因为AddDefaultCharset使Apache能够忽略html页面里meta的相关设置。

所以正确的方法应该是将AddDefaultCharset ISO-8859-1 改成 AddDefaultCharset off。然后在HTML文件文件里加入<meta http-equiv=
"Content-Type" content="text/html; charset=gb2312" />把gb2312改为你的HTML文件的编码。


PHP其实就是动态的HTML,同样适用。php.ini取消掉;default_charset = "iso-8859-1",不用改为其它。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-11 14:29:07 | 显示全部楼层
感谢大家提示,你们上面的方法我全测试了,把php.ini和httpd.conf配置全修改了,还是显示乱码,请大家给给于解答!谢谢
回复 支持 反对

使用道具 举报

发表于 2006-1-11 16:09:00 | 显示全部楼层
然后在HTML文件文件里加入<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />把gb2312改为你的HTML文件的编码。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-11 16:44:31 | 显示全部楼层
然后在HTML文件文件里加入<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />把gb2312改为你的HTML文件的编码。
我做了也是乱吗?
Apache/1.3.33 ,PHP4
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-11 16:50:10 | 显示全部楼层

请解答,两个配置文件在附件中

<html>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<head>
<title>我的php </title>
</head>

<body>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<?php
echo "我的第一个php";
?>
</body>
</html>
回复 支持 反对

使用道具 举报

发表于 2006-1-11 16:54:55 | 显示全部楼层
附件还没发上来啊。

下面的步骤如果你做过了,请不要生气。
你用gedit打开那个文件,改为:

  1. <html>
  2. <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  3. <head>
  4. <title>我的php </title>
  5. </head>
  6. <body>
  7. <?php
  8. echo "我的第一个php";
  9. ?>
  10. </body>
  11. </html>
复制代码

因为你的原文件有错----可能不是乱码的原因。

然后另存为,选GB2312编码。

注意,Apache配置文件是:AddDefaultCharset off
php.ini注释掉;default_charset = "iso-8859-1"
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-11 16:57:40 | 显示全部楼层
有人告诉我用UTF-8,这样可以看到汉字,但此方法不可靠!
回复 支持 反对

使用道具 举报

发表于 2006-1-11 17:12:26 | 显示全部楼层
Post by cnyzj
有人告诉我用UTF-8,这样可以看到汉字,但此方法不可靠!

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
charset不是随意赋值的,是跟你的HTML文件的编码一样的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表