<?php
@mysql_connect("localhost", "root", "") or die("连接MySQL数据库失败。");
mysql_select_db("test") or die("打开MySQL数据库失败。");
$sql = "INSERT INTO test (id, uid, regdate, re) VALUES('', '测试', now(), '测试')";
mysql_query($sql);
?>问:中文就是乱码,英文正常,怎么办呀?PHP版本是5.3.8,MySQL版本是5.5.16,各位好汉帮帮忙~~~
@mysql_connect("localhost", "root", "") or die("连接MySQL数据库失败。");
mysql_select_db("test") or die("打开MySQL数据库失败。");
$sql = "INSERT INTO test (id, uid, regdate, re) VALUES('', '测试', now(), '测试')";
mysql_query($sql);
?>问:中文就是乱码,英文正常,怎么办呀?PHP版本是5.3.8,MySQL版本是5.5.16,各位好汉帮帮忙~~~
mysql_select_db("test") or die("打开MySQL数据库失败。");
#将数据编码转为utf-8(程序编码)
mysql_query("set names utf-8");
$sql = "INSERT INTO test (id, uid, regdate, re) VALUES('', '测试', now(), '测试')";
mysql_query($sql);
我把代码改成:
@mysql_connect("localhost", "root", "") or die("连接MySQL数据库失败。");
mysql_select_db("test") or die("打开MySQL数据库失败。");
$sql = "INSERT INTO test (id, uid, regdate, re) VALUES('', '我', now(), '2')";
mysql_query("set names gbk_chinese_ci");
mysql_query($sql);还是不行啊
另,初期的编程数据库执行代码最好这样写,如果出错会指出错误出处:
$sql = "INSERT INTO test (id, uid, regdate, re) VALUES('', '测试', now(), '测试')";
$res = mysql_query($sql);
if(!$res)
die("SQL:{$sql}<br>Error:".mysql_error());
if(mysql_affected_rows() > 0){
echo "插入成功!";
}else{
echo "插入失败!<br>Error:".mysql_error();
}
另外,你的文件编码也要改为gbk编码。
2,数据库所有character设置为utf8.
3,系统编码utf8,这样你才能在屏幕上看见utf8编码的不乱码的中文、