大家来看看吧

发表于:2007-05-25来源:作者:点击数: 标签:
我配置了好几在了,一直没有解决这个问题 httpd.conf如下: AddDefaultCharsetGB2312 # #Commonlyusedfilenameextensionstocharactersets.Youprobably #w ant toavoidclasheswiththelanguageextensions,unlessyou #aregoodatcarefullytestingyoursetupafterea

我配置了好几在了,一直没有解决这个问题
httpd.conf如下:

 AddDefaultCharset  GB2312
#
# Commonly used filename extensions to character sets. You probably
# want to avoid clashes with the language extensions, unless you
# are good at carefully testing your setup after each change.
# See http://www.iana.org/assignments/character-sets for the
# official list of charset names and their respective RFCs.
#
AddCharset ISO-8859-1  .iso8859-1  .latin1
AddCharset ISO-8859-2  .iso8859-2  .latin2 .cen
AddCharset ISO-8859-3  .iso8859-3  .latin3
AddCharset ISO-8859-4  .iso8859-4  .latin4
AddCharset ISO-8859-5  .iso8859-5  .latin5 .cyr .iso-ru
AddCharset ISO-8859-6  .iso8859-6  .latin6 .arb
AddCharset ISO-8859-7  .iso8859-7  .latin7 .grk
AddCharset ISO-8859-8  .iso8859-8  .latin8 .heb
AddCharset ISO-8859-9  .iso8859-9  .latin9 .trk
AddCharset ISO-2022-JP .iso2022-jp .jis
AddCharset ISO-2022-KR .iso2022-kr .kis
AddCharset ISO-2022-CN .iso2022-cn .cis
AddCharset Big5        .Big5       .big5
# For russian, more than one charset is used (depends on client, mostly):
AddCharset WINDOWS-1251 .cp-1251   .win-1251
AddCharset CP866       .cp866
AddCharset KOI8-r      .koi8-r .koi8-ru
AddCharset KOI8-ru     .koi8-uk .ua
AddCharset ISO-10646-UCS-2 .ucs2
AddCharset ISO-10646-UCS-4 .ucs4
AddCharset UTF-8       .utf8

php.ini文件如下 :
PHP's built-in default is text/html
;default_mimetype = "text/html"
default_charset = "gb2312"

php文件如下:
<html>
<head>
<meta http-equiv="content-language" content="zh-CN">
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<title>timedata</title>
</head>
<body>
<?
      $current_time=getdate(time());
      printf("%dYear %dMonth %dDay %dHours %dMinutes %dSeconds",date("Y"),date("m"),date("d"),$current_time["hours"],$current_time["minutes"],$current_time["seconds"]);
?>
<p>
chineses中文
<body>

执行结果如下:
2004Year 1Month 2Day 13Hours 44Minutes 39Seconds

chineses涓?枃

【发表回复】【查看CU论坛原帖】【添加到收藏夹】【javascript:window.close()">关闭】
 landjer 回复于:2004-01-02 16:33:44
看来这个问题困惑你好久了,初次看你的贴子,由于我没有把握,不感贸然回贴,现在只当我试一试,
第一步,你不要改httpd.conf中的字符集的任何内容。也就是将你加的字符集删除(因为你用的是1.X)。
第二步,打开php.ini
将default_mimetype = "text/html"前的注释去掉
将你改的default_charset = "gb2312" 注释掉
这一步是让浏览器自己根据页面决定选取相应字符集
试一试,希望你能成功,如果不行,就当我没有说!

 ltaotao007 回复于:2004-01-02 17:00:31
apache我用的2.0.28
php是4.3.3
OS::REDHAT9
改了效果一样,虽不是乱码,
但不是我PHP中的文字。

如:
chineses中文 
执行为:
chineses涓?枃

 landjer 回复于:2004-01-02 17:17:19
你将浏览器的编码选择为GB2312试试应该是正常的!
我知道原因,原来我碰到过一个帖子,他说用的是1.X
2.x最好办,只需将AddDefaultCharset ISO-8859-1
改为AddDefaultCharset OFF,其他什么也不加就可以,1.x默认就可以直接显示简体中文

 ltaotao007 回复于:2004-01-02 19:50:14
我使用Mozilla浏览器,当浏览这个PHP文件时,我查看了编码,是指向的GB2312,改为AddDefaultCharset OFF我也用过,故障一样。

 ltaotao007 回复于:2004-01-02 23:36:20
文件已解决,可我这几点感受,希望其他网友能知道
配置文件按landjer网友所说:
错误在于我的PHP文件。

<meta http-equiv="content-language" content="zh-CN"> 
<meta http-equiv="content-type" content="text/html; charset=gb2312"> 
-------------------------------------------------------------------
我在用phpinfo()查看本地机器PHP信息,发现language="zh-CN.GB13830 zh-CN.GB2312"
我怀疑错误是由它因引的,原因之一就是,我的PHP文件执行时,显示的是中文,但不是PHP文件内容中的中文,说明APACHE服务器,已经按中文在处理,而是选择了不同的中文编码,所以我把PHP源文件的修改,
<html> 
<head> 
<meta http-equiv="Content-Language" Content="zh-CN.GB2312"> 
<title>timedata</title> 
</head> 
<body> 
<? 
$current_time=getdate(time()); 
printf("%dYear %dMonth %dDay %dHours %dMinutes %dSeconds",date("Y"),date("m"),date("d"),$current_time["hours"],$current_time["minutes"],$current_time["seconds"]); 
?> 
<p> 
chineses中文 
<body> 
执行后,中文正确。

再有一点发现,就是APACHE服务器,好像有一种自适应功能,
我上而的PHP文件中加入了
<meta http-equiv="Content-Language" Content="zh-CN.GB2312"> 
中文正确,。
然后我又建立了一个新的PHP文件,不加入<meta http-equiv="Content-Language" Content="zh-CN.GB2312"> 
执行后,中文也正确。但在第一次正确之前,是乱码。很奇怪呀!

 landjer 回复于:2004-01-03 07:36:47
恭喜,问题解决了!

原文转自:http://www.ltesting.net