日期:2014-05-17  浏览次数:20492 次

插入数据库有乱码,求解决方案,顶者有分
本帖最后由 mmm306306 于 2013-07-05 11:53:13 编辑

//创建插入参数
new MySqlParameter("@name", item.name),




执行后发现没报错,数据插入成功,但是name列的数据 只有 11没有乱码以及乱码后面的数据。
求解决方案,如何剔除乱码。

Mysql 数据库

------解决方案--------------------
应该是编码问题,mysql中是否unicode字符
------解决方案--------------------
编码问题
------解决方案--------------------
编码问题
------解决方案--------------------
插入的时候HtmlEnCode一下
取数据的时候System.Web.HttpUtility.HtmlDecode(item.name);
------解决方案--------------------

------解决方案--------------------
首先,看下new MySqlParameter("@name", item.name), 这个地方插入前,item.name这个是乱码吗。

请检查下面几个原因看看,都试试:
1、数据表中,表本身的编码 和 字段编码,均为UTF8。
2、在写入数据等数据库操作前,发送语句 'set names utf8' 
3、PHP文件都是UTF8编码,无签名(无BOM)
4、页面上使用header或<meta>保证输出的页面是UTF8编码。<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
------解决方案--------------------
顶一下好了,估计是插入的时候数据编码问题
------解决方案--------------------
引用:
Quote: 引用:

应该是编码问题,mysql中是否unicode字符

MySQL数据库编码是 utf8 -- UTF-8 Unicode

item.name 中的值 是我从其他地方请求过来的。
请求过来里面就有 “口”。。

原来的正确的数据知道不,应该插入之前就是乱码,
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

应该是编码问题,mysql中是否unicode字符

MySQL数据库编码是 utf8 -- UTF-8 Unicode