php向mysql中插入utf8格式的中文报错!

我的数据库全部设置成utf8编码!php代码:<html><head><title>PHPandODBCExample1</title><metahttp-equiv="... 我的数据库全部设置成utf8编码!
php代码:

<html>
<head>
<title>PHP and ODBC Example 1</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<?php
header("Content-Type: text/html;charset=utf-8");
$conn = odbc_connect(
"DRIVER={MySQL ODBC 5.3 Unicode Driver};Server=localhost;Database=my_ext", "root", "");
if ($conn) {
echo "成功连接到odbc数据源";
}
else {
echo "连接失败";
echo odbc_errormsg($conn);
}
echo "</br>";
$str_sql = "insert into person values(5,'杨雷雷','123')";
$res = odbc_exec($conn, $str_sql);
$str_sql = "select * from person";
$res = odbc_exec($conn, $str_sql);
while (odbc_fetch_row($res)) {
$id = odbc_result($res, 1);
$name = odbc_result($res, 2);
echo "{$id} {$name}";
echo "</br>";
}
odbc_close($conn);
echo "所有打开的odbc连接都已经被关闭!";
?>
</body>
</html>
也设置成了utf8!可是进行插入中文操作!一直爆出警告!!

请问该怎么解决
展开
 我来答
tsotsi
2014-11-18 · TA获得超过940个赞
知道小有建树答主
回答量:1367
采纳率:55%
帮助的人:691万
展开全部
$res = odbc_exec($conn, 'set names utf8');
放在插入语句前
不行就把sql打印出来,手动复制到mysql控制台执行,看有什么错
更多追问追答
追问
你好!我手动复制到mysql控制台执行,是不报错的!
追答
...你前面的做了吗?
sunxch100
2014-11-18 · TA获得超过3619个赞
知道大有可为答主
回答量:1818
采纳率:50%
帮助的人:689万
展开全部

在执行sql之前,设置字符编码

$res = odbc_exec($conn, 'set names utf8');
$res = odbc_exec($conn, $str_sql);
追问
你确定可以odbc_exec($conn, 'set names utf8');这么用吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
莘赡05V
2014-11-18 · 知道合伙人软件行家
莘赡05V
知道合伙人软件行家
采纳数:1397 获赞数:3710
毕业安徽理工大学

向TA提问 私信TA
展开全部
你编辑器的编码是utf8吗?
追问
什么编译器?我直接在notepad++里面写的
追答
对啊,你notepad++那个编辑器的编码是UTF8 无BOM头的吗?
notepad++设置:点击 格式-->转为utf8无BOM编码格式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
奴性的世界day
2014-11-18 · TA获得超过558个赞
知道小有建树答主
回答量:575
采纳率:0%
帮助的人:382万
展开全部
set names utf8
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式