求教关于用PHP查询mssql字符集问题

许添翼 发布于 2013/06/21 12:48
阅读 1K+
收藏 0
PHP

求问

之前数据库是latin的,我转换了一下转成了Chinese_PRC_CI_AS的

转换的原因是之前我用PHP输出,中文结果全都是问号“?”

先后调试

将文件调整为相对应的:gb2312或者utf-8

页面<meta charset="对应的编码">

PHP输出:

iconv( 'gb2312','utf-8', $ln);
对应的转码

都没有用,中文结果还是问号

求解

加载中
0
钟白兔
钟白兔
是查询数据库返回的数据是乱码?
许添翼
许添翼
我直接ECHO返回的数据,不是乱码,是输出问号
0
skywxx
skywxx

出现这种问题一般就是编码的问题了,你可以按照下面 逐个设置:

1、读取数据库的php文件要选择另存为utf8格式

     2、网页的<meta   />中设置charset为utf-8

    3 、数据库中数据库选择utf8,字段也设置为utf8。

    4、最重要的一点,在连接数据库的部分,最好单独一个文件,在需要连接数据库的php文件中调用就可以了。二保证不出现乱码的方式是

<?php
$hostname_conn = "localhost";
$database_conn = "***";
$username_conn = "****";
$password_conn = "*****";
$conn = mysql_pconnect($hostname_conn, $username_conn, $password_conn) or trigger_error(mysql_error(),E_USER_ERROR); 
mysql_query("set names UTF8");//此处保证读出不会出现乱码情况
?>

5,要是还有乱码的话就设置一下my.ini中的client和server的编码为utf8

设置完成后,可以查看mysql的编码,在命令行下进入mysql

mysql -u root -p

此处输入密码

SHOW VARIABLES LIKE 'CHARACTER%';

 

另外要注意的是在mysql中编码为utf8或UTF8,在php的meta标签下士utf-8

许添翼
许添翼
是SQL SERVER~~不是MYSQL。。。。。 不过谢谢你的回答
返回顶部
顶部