我的操作系统是ubuntu,使用apache+mysql+eclipse写php代码,我发现在用户注册的时候,中文插入不到mysql中。我修改过my.cnf文件,写了set names utf8 在header里也加了utf-8,可是任然无法插入中文在那个字段。我写了一个test.php
如下:
<?php
header("Content-Type:text/html;charset=utf-8");
require_once (dirname(__FILE__).'/con_nect.php');
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
$u_name='admin';
$u_paswd='test';
$u_tname='测试页面';
$query="insert into user_info(user_name,psword,true_name) values('$u_name','$u_paswd','$u_tname')";
$sql=mysql_query($query);
$query="select * from user_info where user_name='admin'";
$sql=mysql_query($query);
$id=mysql_fetch_array($sql);
print($id['true_name']);
?>
</body>
结果显示乱码。
求各位大大给给建议啊。
如下:
<?php
header("Content-Type:text/html;charset=utf-8");
require_once (dirname(__FILE__).'/con_nect.php');
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
$u_name='admin';
$u_paswd='test';
$u_tname='测试页面';
$query="insert into user_info(user_name,psword,true_name) values('$u_name','$u_paswd','$u_tname')";
$sql=mysql_query($query);
$query="select * from user_info where user_name='admin'";
$sql=mysql_query($query);
$id=mysql_fetch_array($sql);
print($id['true_name']);
?>
</body>
结果显示乱码。
求各位大大给给建议啊。
$myconn = mysql_connect("$dbhost","$dbuser","$dbpass") or die("数据库连接失败!请检查!");
mysql_query("SET NAMES 'UTF8'");
mysql_query("SET CHARACTER SET UTF8");
mysql_query("SET CHARACTER_SET_RESULTS=UTF8'");...具体操作
用的是eclipse,工程文件已经设置成utf8了
用的是eclipse,工程文件已经设置成utf8了
HTML部分的<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">就是设置成UTF8编码。
con_nect.php里面只要mysql_query("set names utf8")就可以啦,你下面的两句是多余的。
保证HTML和PHP文件都是UTF8无BOM编码格式保存,用NOTEPAD++转一下,eclipse那个貌似只是设置用什么编码格式查看而已(不太确定,就用NOTEPAD++转吧)
你试试。