当前位置:首页 » 多媒体相关

支持中文的问题??


我用的是windows2000+apache2+php4+mysql  
  但是我在php中写的中文运行是都成了乱码,请问如何解决?

推荐阅读

  • 用VB、VFP设计右键弹出式菜 [详细内容]
  • 金士顿推新品 单条4GB服务器内存上市 服务器存储频道 [详细内容]
  • 华硕RS162-E4接连获奖 成就2006优雅尾声 服务器存储频道 [详细内容]
  • 《仙剑3》修改分辨率小技巧 [详细内容]
  • 768的一些BUG [详细内容]
  • CEM:超越CSM和CRM的客户体验管理方案 企业软件频道 [详细内容]
  • 新型人才的护照 国家电子商务师资格考试举行 [详细内容]
  • 网友回答:
    网友:iwu

    adddefaultcharset   gb2312

    网友:netvt

    在apache的配置文件httpd.conf中:  
       
      adddefaultcharset   gb2312  
      (原来是的adddefaultcharset   iso-****)  
       
      改完后重起计算机.(有时只重起apache可以,有时不行).

    网友:xuzuning

    注释掉httpd.conf中的adddefaultcharset   ...一句。

    网友:feel8

    apache的httpd.conf中找到  
      adddefaultcharset   ××××  
      改成   adddefaultcharset   gb2312

    网友:shuiaaa

    php的执行效率是有目共睹的,这也是我喜欢它的原因之一,和它称为绝妙搭档的mysql以及apache想融合,不能不惊叹其效率了。php更新也很快,这里列举了目前最新版本php4.3.2rc4,和最新版本的mysql4.0.13的安装过程。  
       
        php的安装文件可以直接到   http://www.php.net/   下载,获得for   win32的.zip包  
        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。当您保存文件时,系统会让你指定文件的文件名,这时请将您的文件名加上引号。或者,您也可以点击保存对话框中的“保存类型”下拉菜单,并将设置改为“所有文件”。这样您在输入文件名的时候就不用加引号了。  
        上面一段话摘自《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  
     

    网友:ashchen

    ----------------------------  
      在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即可  
     

    网友:babystudio

    我觉得最好的解决方法是通过脚本层次,而不是web   server。当然在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");

    .

    讨论区

    Login