您好,匿名用户
随意问技术百科期待您的加入

求教php+mysql乱码的问题

0 投票

因为服务器提供商的原因只能通过phpMyadmin管理数据库。使用show variables语句查询得到的当前数据库的信息如下:
character_set_client latin1
character_set_connection utf8
character_set_database utf8
character_set_results latin1
character_set_server latin1
character_set_system utf8
collation_connection utf8_unicode_ci
collation_database utf8_unicode_ci
collation_server latin1_swedish_ci

我写了一个测试文件mytest.php代码如下(文件编码为UTF-8):

<!DOCTYPE html>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title></title>
	</head>
<body>
<?php
	print "Hello";
	$connection = mysql_connect('host','dbname','dbpass');
	mysql_select_db('obbdb', $connection);
	mysql_query("SET NAMES 'utf8'", $connection);
	mysql_query("SET CHARACTER SET utf8", $connection);
	mysql_query("SET CHARACTER_SET_CONNECTION=utf8", $connection);
	mysql_query("SET SQL_MODE = ''", $connection);
	$result = mysql_query ("SELECT * FROM navigator", $connection);
	while ($row = mysql_fetch_array($result, 10)) 
	{
		foreach ($row as $attribute) {
			print "{$attribute}";
			print "\n";
		}
	}
?>
</body>
</html>

显示的是乱码。
如果修改代码如下,并将文件的编码改为ANSI。则能正常显示

<!DOCTYPE html>
<html>
	<head>
		<title></title>
	</head>
<body>
<?php
	print "Hello";
	$connection = mysql_connect('host','dbname','dbpass');
	mysql_select_db('obbdb', $connection);
//	mysql_query("SET NAMES 'utf8'", $connection);
//	mysql_query("SET CHARACTER SET utf8", $connection);
//	mysql_query("SET CHARACTER_SET_CONNECTION=utf8", $connection);
	mysql_query("SET SQL_MODE = ''", $connection);
	$result = mysql_query ("SELECT * FROM navigator", $connection);
	while ($row = mysql_fetch_array($result, 10)) 
	{
		foreach ($row as $attribute) {
			print "{$attribute}";
			print "\n";
		}
	}
?>
</body>
</html>

请问这是什么原因导致的乱码?如果要解决这个问题要怎么操作?

用户头像 提问 2012年 12月1日 @ Nasus 上等兵 (329 威望)
分享到:

1个回答

0 投票

mysql_query("set names utf8");
放在链接数据库之后 所有查询语句之前
然后检查下所有文件是否都是 utf8编码
最后 将 html 代码的meta 信息 增加 utf8 的处理 应该可以解决

用户头像 回复 2012年 12月1日 @ Nunu 上等兵 (350 威望)
提一个问题:

相关问题

0 投票
1 回复 30 阅读
用户头像 提问 2012年 12月1日 @ Vergil 上等兵 (384 威望)
0 投票
1 回复 31 阅读
+2 投票
1 回复 94 阅读
用户头像 提问 2012年 12月26日 @ Poppy 上等兵 (395 威望)
0 投票
1 回复 39 阅读
用户头像 提问 2013年 10月25日 @ Athena 上等兵 (346 威望)
0 投票
1 回复 41 阅读
用户头像 提问 2012年 12月1日 @ Berserker 上等兵 (157 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...