mysql数据库的字符集如下:
character_set_client = latin1
character_set_connection = latin1
character_set_database = latin1
character_set_results = latin1
character_set_server = latin1
character_set_system = utf8
character_sets_dir = d:\Program Files\MySQL\share\charsets/ collation_connection = latin1_swedish_ci
collation_database = latin1_swedish_ci
collation_server = latin1_swedish_ci 有一个数据库test,其中有一个数据表tt,字段aa varchar(10)CREATE TABLE `t` (
`aa` varchar(10) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |有一记录为'中国',
执行下面代码后,在IE中显示的为乱码,这是怎么回事?我试过将上面的不同的字符集进行设置为GBK或UTF8,都不行。
mysql_query('set names gbk'); //或mysql_query('set names utf8');
$sql='select * from t';
$result=mysql_query($sql,$conn);
$row=mysql_fetch_array($result);
print_r($row);由于数据库涉及到另一个程序,因为不能更改数据库字符集,只能为latin1
请问是否有办法在IE显示正确的中文内容?还请各位高手指点,万分感谢!
character_set_client = latin1
character_set_connection = latin1
character_set_database = latin1
character_set_results = latin1
character_set_server = latin1
character_set_system = utf8
character_sets_dir = d:\Program Files\MySQL\share\charsets/ collation_connection = latin1_swedish_ci
collation_database = latin1_swedish_ci
collation_server = latin1_swedish_ci 有一个数据库test,其中有一个数据表tt,字段aa varchar(10)CREATE TABLE `t` (
`aa` varchar(10) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |有一记录为'中国',
执行下面代码后,在IE中显示的为乱码,这是怎么回事?我试过将上面的不同的字符集进行设置为GBK或UTF8,都不行。
mysql_query('set names gbk'); //或mysql_query('set names utf8');
$sql='select * from t';
$result=mysql_query($sql,$conn);
$row=mysql_fetch_array($result);
print_r($row);由于数据库涉及到另一个程序,因为不能更改数据库字符集,只能为latin1
请问是否有办法在IE显示正确的中文内容?还请各位高手指点,万分感谢!
$aa = iconv("latin1","gb2312",$row['aa']);
<?php
$conn=mysql_connect('127.0.0.1,'root','root');
mysql_select_db('lctest');
mysql_query('set names gbk'); //或mysql_query('set names utf8');
$sql='select * from t';
$result=mysql_query($sql,$conn);
$row=mysql_fetch_array($result);
print_r($row);
echo "<br>=============================<br>";
$aa=iconv("latin1","gb2312",$row['aa']);
echo $aa;
?>结果是:
Array ( [0] => ???ú [aa] => ???ú )
=============================
???¨
类似的
$aa=iconv("latin1","UTF-8",$row['aa']);
$aa=iconv("latin1","gbk",$row['aa']);另外,还有那个mysql_query('set names gbk');
可以考虑注释掉试试看
把这些编码都统一就OK了。基本上这些问题都不会出现的,在
create database 的时候要一定要定义字符集,mysql 默认的是 latin
我都是用这个的从没有出现过乱码
真晕呀,为这个问题搞了二天,试了多种方式,在mysql CMD下,都可以正常显示中文,但在IE中就不能。
呵,解决了!谢谢!