支持中文的问题??

lanyan8008 2003-08-24 10:19:48
我用的是windows2000+apache2+php4+mysql
但是我在php中写的中文运行是都成了乱码,请问如何解决?
...全文
74 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
babystudio 2003-08-25
  • 打赏
  • 举报
回复
我觉得最好的解决方法是通过脚本层次,而不是web server(apache)。当然在apache的配置中加入AddLanguage zh-cn .cn 是必要的。
我在*.php的首部通常会加上
header("Expires: Mon, 11 Dec 1978 00:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Pragma: no-cache");
header("Content-Type: text/html; charset=gb2312");
ashchen 2003-08-25
  • 打赏
  • 举报
回复
----------------------------
在apache的配置文件httpd.conf中:

AddDefaultCharset GB2312
(原来是的AddDefaultCharset ISO-****)

改完后重起计算机.(有时只重起apache可以,有时不行).
----------------------------
不用重启计算机,清除一下浏览器的缓存,重启一下apache就可以

关于是否添加AddDefaultCharset GB2312的利弊已经讨论过了,这里再说一次
AddDefaultCharset GB2312 这种方法固然可以解决问题,但是会带来新的问题
上述方法固定了html的编码,就不能在html头部的meta来控制charset.
如果注释掉AddDefaultCharset 可以用meta来定义charset,灵活性更高。
所以推荐的方法是打开apache的配置文件httpd.conf
查找AddDefaultCharset iso,找到以后删除此行
清除浏览器缓存,关掉浏览器,重启apache即可
shuiaaa 2003-08-25
  • 打赏
  • 举报
回复
PHP的执行效率是有目共睹的,这也是我喜欢它的原因之一,和它称为绝妙搭档的Mysql以及Apache想融合,不能不惊叹其效率了。PHP更新也很快,这里列举了目前最新版本PHP4.3.2RC4(几乎没有BUG了,估计写完这篇不久后正式版就出了),和最新版本的Mysql4.0.13的安装过程。

  PHP的安装文件可以直接到 http://www.php.net/ 下载,获得for win32的.zip包(5.8M)
  Mysql的安装文件可以直接到 http://www.mysql.com/ 下载,获得for win32的.zip包
  另外如果想体验Apache和PHP的配合效果而要放弃IIS的话,请到 http://www.apache.org/ 下载最新的for win31的.MSI安装包,目前最新版本是2.0.45。
  另外,可以下载Zend Optimizer来对PHP进行加速。具体可以访问 http://www.zend.com/

<1>安装配置PHP
  1.解压缩PHP压缩包到C:PHP(这个路径可以随意,不过以下要是用到这个路径,请相应的修改)。
  2.复制C:PHP目录下的php4ts.dll及C:PHPdlls目录下的所有文件到windows的系统文件夹里,文件夹视Windows版本的不同而不同
  如果是Windows 9x/ME 则为c:windowssystem
  如果是Windows NT/2000 则为c:winntsystem32
  如果是Windows XP/server2003 则为c:windowssystem32
其中C:为你现在所使用的操作系统的系统盘,如果你目前操作系统不是安装在C:windows下,请相应做出修改。
  复制php.ini-dist到C:windows(XP/2003/9x/Me)或C:Winnt(2000/nt)下,并将其改名为php.ini。用记事本打开,修改一下信息:
  搜索extension_dir = ./ 这行,并将其路径指到你的PHP目录下的extensions目录,比如:
  extension_dir = C:PHPextensions
  如若想支持更多模块,请接下面去做,如果不想的话,直接保存php.ini文件即可.
  PHP所支持模块很多,不过有些dll不是免费的,所以没有随PHP的压缩包一起发布,不过dlls文件夹里带的就非常多了,刚才我们已经把它们复制到system32文件夹下了,现在我们测试看它支持多少模块。以下是我测试的结果,仅供参考,如果安装完毕后,弹出不支持xxx.dll模块的话,直接将前面分号加上去就可以了,搜索:
;Windows Extensions
;Note that MySQL and ODBC support is now built in, so no dll is needed for it.
;
下面都用分号在前面注释掉了支持的扩展模块,如果你想PHP支持某个模块,请将前面的“;”去掉即可,下面是我测试后的结果,一般按照下面那样去掉注释后没什么问题的:
extension=php_bz2.dll
extension=php_cpdf.dll
extension=php_crack.dll
extension=php_curl.dll
extension=php_db.dll
extension=php_dba.dll
extension=php_dbase.dll
extension=php_dbx.dll
extension=php_domxml.dll
extension=php_exif.dll
extension=php_fdf.dll
extension=php_filepro.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_hyperwave.dll
extension=php_iconv.dll
;extension=php_ifx.dll
;extension=php_iisfunc.dll
extension=php_imap.dll
extension=php_interbase.dll
extension=php_java.dll
extension=php_ldap.dll
extension=php_mbstring.dll
;extension=php_mcrypt.dll
extension=php_mhash.dll
extension=php_mime_magic.dll
extension=php_ming.dll
extension=php_mssql.dll
extension=php_msql.dll
;extension=php_oci8.dll
extension=php_openssl.dll
;extension=php_oracle.dll
extension=php_pdf.dll
extension=php_pgsql.dll
;extension=php_printer.dll
extension=php_shmop.dll
extension=php_snmp.dll
extension=php_sockets.dll
;extension=php_sybase_ct.dll
extension=php_w32api.dll
extension=php_xmlrpc.dll
extension=php_xslt.dll
extension=php_yaz.dll
extension=php_zip.dll
修改完成后,保存php.ini,到此完成PHP的安装和配置。

<2>Mysql的安装
  Mysql相对来说是比较独立的,这个数据库很小,不能直接对它进行操作,不像access或者SQL2000那么直观,不过目前已经有很多软件可以很好的操作它的,比如phpMyAdmin,mysqlcc。这些软件可以到 http://www.mysql.com/ 上面下载获得,这里不详细说明。
  下载获得Mysql的for win32安装包后,用winzip打开,直接运行setup.exe,需要注意的是选择一个安装路径,当然,安装路径可以任意,不过我建议将它和PHP安装在一起,选择C:MySQL目录。安装完成后MySQL也就完成了。至于设置用户和密码,可以使用上面提到的两个软件进行管理。这里不继续描述,默认的用户名是root,密码为空。
  一般装完MySQL后会自动启动服务,如果没有启动的话,请运行C:MySQLbinmysqld-nt.exe

  配置conf目录下的httpd.conf文件

#安装apache模块方式添加:
LoadModule php4_module c:/php/sapi/php4apache2.dll
AddType application/x-httpd-php .php4
ScriptAlias /php4/ "c:/php/"
Action application/x-httpd-php4 "/php4/php.exe"
AddType application/x-httpd-php4 .php

#增加默认启动文档:
DirectoryIndex index.html增加为:
DirectoryIndex index.html index.htm index.php index.php3

#让apache2默认中文显示
#添加:
AddLanguage zh-cn .cn
DefaultLanguage zh-cn
#修改:
AddDefaultCharset ISO-8859-1 ---> AddDefaultCharset GB2312
###########################################
[Zend]
在下面可以看到:
zend_optimizer.optimization_level=*
这行,
将=后面数值改为1023,也就是将这行改为
zend_optimizer.optimization_level=1023
###################################################################
Alias /icons/ "D:/Apache/icons/";虚拟目录名

<Directory "D:/Apache/icons">;显示全部目录
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

<6>测试:
  用记事本新建个文件,写下下面几行,保存到C:Apache2htdocs目录下,这个目录就是你的站点跟目录,命名为phpinfo.php.然后在浏览器中输入http://localhost/phpinfo.php就可以看到想尽的关于PHP的信息了。
CODE
<?php

phpinfo();

?>

  您需要注意在您保存文件时,文件的后缀名应该为 .php。(记事本将自动在文件名后面加上 .txt后缀,除非您采取以下措施之一来避免这种情况。)当您保存文件时,系统会让你指定文件的文件名,这时请将您的文件名加上引号。(例如,“hello.php”。)或者,您也可以点击保存对话框中的“保存类型”下拉菜单,并将设置改为“所有文件”。这样您在输入文件名的时候就不用加引号了。
  上面一段话摘自《PHP中文手册》,更详细的安装资料,请到 http://www.php.net/docs.php 下载这个中文手册,里面有各种不同系统的详细安装,不过不是很直观而以,一些优化也没有写出来:)

下面我给出几个要用到的软件的下载地址:
PHP
http://www.php.net

Mysql4.0.13
http://www.mysql.com

Apache
http://download.wz.zj.cn/download.asp?cat1=nettools&cat2=homepage&id=3237

Zend Optimizer:
http://www.phpe.net/?n=DownNow&a=7&l=1

另,PHP4.3.2RC4中包含了PEAR包,PHP4.3.1中是没有的,如果你下载的压缩包里有的话,就在php.ini中设置include路径,找到如下两行:
; Windows: "path1;path2"
;include_path = ".:/php/includes"
修改为:
; Windows: "path1;path2"
include_path = "C:phppear"
保存即可,这个是PHP的包含文件路径,可以设置多个,用";"格开。
#################################################
注意!!!!!
C:盘必须是32位的,ntfs是不行的,我测试过!PHP是不能安在ntfs的盘中的
你可以找个不是ntfs的区,比如d:盘e:盘f:盘等盘
在iss主目录->配置->添加->PHP中的sapi/php4isapi.dll
_______________________我用的平台win2003+php4.23,也可以用Apache+PHP4.23速度快

……………………………………………………………
还有web服务扩展,把isapi打开!!!!!!!!!!!!!_______________________________________________
同时希望对喜欢PHP的朋友有所帮助.
转载请和我联系:shuiaaa521@sina.com
feel8 2003-08-25
  • 打赏
  • 举报
回复
apache的httpd.conf中找到
AddDefaultCharset ××××
改成 AddDefaultCharset gb2312
xuzuning 2003-08-25
  • 打赏
  • 举报
回复
注释掉httpd.conf中的AddDefaultCharset ...一句。
iwu 2003-08-24
  • 打赏
  • 举报
回复
AddDefaultCharset GB2312
vitalgg 2003-08-24
  • 打赏
  • 举报
回复
在apache的配置文件httpd.conf中:

AddDefaultCharset GB2312
(原来是的AddDefaultCharset ISO-****)

改完后重起计算机.(有时只重起apache可以,有时不行).
lanyan8008 2003-08-24
  • 打赏
  • 举报
回复
什么意思,麻烦写详细点。谢谢。

21,882

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧