CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  PHP

PHP显示中文的问题请教

楼主hbcb(青蛙王子)2006-03-09 20:39:03 在 Web 开发 / PHP 提问

服务器,RH   LINUX   +   apache   +   php4.3  
  本地字符编码设置为GB2312  
   
  安装了MSSQL   Server   2k   的驱动程序freetds  
  用freetds的tsql命令对远程的MSSQL数据库进行交互式的查询,数据库中的中文字符可以正确显示,说明底层的freetds驱动没有问题  
   
  安装了ODBC,   ODBC配置为通过freetds与远程的MSSQL数据库连接  
  运行下面的PHP代码:  
  <?  
      echo   "测试远程数据库查询<br>";  
      if(($handle=odbc_connect("MyODBC","sa",""))){  
          $query="SELECT   *   FROM   t_Item   WHERE   Fname   LIKE   'B%'";  
          $resultset=odbc_exec($handle,   "$query");  
          odbc_result_all($resultset,   "border=1");  
          odbc_close($handle);  
          };  
      ?>  
   
  查询与tsql一样的内容,可以得到正确的查询结果,但是数据库中的中文字符全部显示问号,不能正确显示,而程序里的字符串"测试远程数据库查询"又能正确显示,在本地的浏览器和Windows下的IE浏览器里,都是一样  
  查看apache   /etc/httpd/conf/httpd.conf   里面的配置是:  
  AddDefaultCharset   GB2312  
  也是正确的  
   
  不知道为什么在PHP里面不能正确显示数据库里的汉字呢?  
  请教各位该怎么解决? 问题点数:50、回复次数:9Top

1 楼xwsn(孤帆远影)回复于 2006-03-10 09:25:39 得分 10

看看ashchen的  
  http://community.csdn.net/Expert/topic/4456/4456072.xml?temp=.628277Top

2 楼ashchen(老陳)回复于 2006-03-10 11:56:16 得分 10

sqlserver里的编码应该是utf-8的,转成gb或者  
  网页编码用utf-8Top

3 楼hbcb(青蛙王子)回复于 2006-03-10 12:00:00 得分 0

SQLServer里面的应该是GB2312编码  
   
  因为我的Linux系统原来就是用UTF-8,不能正确显示SQLServer里面的中文,LINUX改为GB2312以后就可以显示了,但是就是在PHP里面还不能显示数据库里面的中文Top

4 楼ashchen(老陳)回复于 2006-03-10 14:38:56 得分 5

那就不清楚了,没用过sqlserverTop

5 楼iasky(iasky)回复于 2006-03-10 21:08:07 得分 5

sql中是utf-8的哦.网页也用utf-8吧..Top

6 楼SuperBJack(我想飞翔)回复于 2006-03-10 21:21:28 得分 5

统一用   utf-8   多国家语言都支持.Top

7 楼hbcb(青蛙王子)回复于 2006-03-10 22:35:32 得分 0

因为SQLSERVER数据库是原来已经存在的,否则就直接使用Linux下的数据库就省事多了,而且是由其他软件公司的软件来使用这个数据库的,因此不能把SQLServer也设置为UTF-8,在Linux下只是我们用户想自己做一些扩展的查询来满足不断变化的需要Top

8 楼ccxxcc(cc小超)回复于 2006-03-10 22:38:42 得分 10

iconv函数把utf-8转换为gb2312的  
  服务器需要装php的iconv模块Top

9 楼gu1dai(异域苍穹.百年飞行)回复于 2006-03-11 14:31:00 得分 5

1.察看你网页的编码是?utf8还是gb2312.  
  2.尝试将读出的结果组成字符串写入文件,用word打开这个文件,如果有乱码它会提示你选择字符集。  
  3.尝试用iconv库将编码转化。Top

相关问题

  • 本人初学PHP,如何设置,使PHP显示中文?
  • 中文显示
  • dreamweaver mx 对php文件的中文显示不正常?
  • apache+php+mysql+phpmyadmin中显示怎么中文?
  • PHP读取MYSQL不显示中文问题
  • JSP显示中文
  • pdf中文显示
  • 为什么PHP输出的XML文件中的中文不能显示?
  • jsp中文如何显示?
  • 中文显示的问题?

关键词

  • 数据库
  • 中文
  • 编码
  • 字符
  • php
  • 远程
  • 查询
  • freetds
  • 显示
  • odbc

得分解答快速导航

  • 帖主:hbcb
  • xwsn
  • ashchen
  • ashchen
  • iasky
  • SuperBJack
  • ccxxcc
  • gu1dai

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo