数据库Connection和字段的字符集都采用utf-8.
开始使用存储过程插入数据,代码大约如下
MySqlCommand cmd = new MySqlCommand("apend_testproject",
                   new MySqlConnection(cConnectMySqlHelp.GetConnectStr().ConnectionString));
                commonfunc.logfile(cmd.Connection.ConnectionString);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add(new MySqlParameter("_PM", _PM));
                cmd.Parameters.Add(new MySqlParameter("_PUBLISH_TIME", _PUBLISH_TIME));
                cmd.Parameters.Add(new MySqlParameter("_PRODUCT_LINE", _PRODUCT_LINE));
                cmd.Parameters.Add(new MySqlParameter("_NAME", HttpUtility.UrlDecode(_NAME)));
                cmd.Parameters.Add(new MySqlParameter("_PROGRESS", 100));
                cmd.Parameters.Add(new MySqlParameter("_TEST_SUB_TIME", _TEST_SUB_TIME));
                cmd.Parameters.Add(new MySqlParameter("_PROJECT_TYPE", _PROJECT_TYPE));
结果数据库表中显示乱码,很郁闷,以为是字符集编码的问题,去网上找了些资料说可以如下操作,意思是
在connectstring里边加入字符集说明utf-8
public static MySqlConnectionStringBuilder GetConnectStr()
        {
            MySqlConnectionStringBuilder connBuilder =
            new MySqlConnectionStringBuilder();
connBuilder.Add("Database", "testplat");
            connBuilder.Add("Data Source", "10.2.226.20");
            connBuilder.Add("User Id", "root");
            connBuilder.Add("Password", "");
            //connBuilder.Add("charset", "utf8");
            return connBuilder;
        }
结果还是错误。实在没有办法,根据测试直觉,是不是由于存储过程是在数据库端,所以,,,,那么直接写Sql调用试试,
代码如下
MySqlCommand cmd = new MySqlCommand();
                cmd.CommandType = CommandType.Text;
                cmd.Connection = new MySqlConnection(cConnectMySqlHelp.GetConnectStr().ConnectionString);
                cmd.CommandText = "insert `testplat`.`TESTPROJECT` (PM,PUBLISH_TIME,PRODUCT_LINE,NAME,PROGRESS,TEST_SUB_TIME,PROJECT_TYPE) "+
                                "values('" + _PM + "','" + _PUBLISH_TIME + "','" + _PRODUCT_LINE + "','" + _NAME + "'," + 100 + ",'" + _TEST_SUB_TIME + "'," + _PROJECT_TYPE + ")";
中文不再显示乱码,于是可以断言是存储过程的问题。为了验证,直接到Mysql客户端工具中
执行存储过程:
CALL apend_testproject('elbert', '2009-11-30', 0, '木牛流马',2, '2009-10-30', 2);
报:
Incorrect string value: '\xE6\x9C\xA8\xE7\x89\x9B...' for column '_NAME' at row 1                
至此可以断言MySql有b ug;虽然经过验证,但是毕竟不是mysql方面专家,所以标题加上疑似!
附mysql版本 
mysql  Ver 14.12 Distrib 5.0.81, for pc-linux-gnu (i686) using readline 5.1
本文转自elbertchen 51CTO博客,原文链接:http://blog.51cto.com/linkyou/283252,如需转载请自行联系原作者

MYSQL使用存储过程插入中文数据的疑似bug(UTF8)相关推荐

  1. 解决mysql客户端执行插入中文数据命令出错以及中文乱码问题

    时间:2019年8月16号 星期五 22:40 建表语句和插入数据语句如下: create table account(id int primary key auto_increment,name v ...

  2. mysql 存储过程 脚本_mysql利用存储过程插入大量数据脚本

    1.检查是否开启二进制日志 #查看是否开启二进制日志,ON表示开启,OFF表示没有开启 show variables like'log_bin_trust_function_creators'; #若 ...

  3. mysql录入foreigen错误_Python MySQLdb 使用utf-8 编码插入中文数据问题

    最近帮伙计做了一个从网页抓取股票信息并把相应信息存入MySQL中的程序. 使用环境: Python 2.5 for Windows MySQLdb 1.2.2 for Python 2.5 MySQL ...

  4. mysql输入中文出现 号_MySQL插入中文数据出现?号

    运行环境:win10 mysql版本:Mysql5.6 做一个项目的时候,向数据库插入中文数据,一直都是? 问过度娘之后,她提供的以下办法: 1.在连接数据库的url后加:?useUnicode=tr ...

  5. python 向MySQL里插入中文数据

    用python向MySQL中插入中文数据出错,原代码片段: 1 db = MySQLdb.connect("localhost","root","12 ...

  6. MySQL插入中文数据时报错:Incorrect string value: ‘\xC8\xFD\xCC\xE5‘ 解决方案

    最近在使用MySQL数据库的客户端来操作数据库的时候,我直接打开我电脑搜索里面的MySQL客户端来打开: 结果直接在我插入中文数据的时候报错了: Incorrect string value: '\x ...

  7. mysql中插入中文数据

    今天遇到的问题使mysql中插入中文数据后显示乱码,我在mysql中插入中文的时候,可以插入可是select的时候却无法显示,为此我写下这篇博客用于解决mysql插入中文. 由于有些截图没有记录下来, ...

  8. mysql插入数据中文_mysql插入中文数据的方法

    mysql插入中文数据的方法 发布时间:2020-09-04 09:26:29 来源:亿速云 阅读:92 作者:小新 小编给大家分享一下mysql插入中文数据的方法,相信大部分人都还不怎么了解,因此分 ...

  9. 在SQL 2005中用T-SQL插入中文数据时出现的问号或乱码的解决方案[转]

    在SQL 2005中用T-SQL插入中文数据时出现的问号或乱码的解决方案 病症表现为:主要表现为用T-sql语句插入中文数据时数据库显示全是问号"???"  解决办法: 第一种办法 ...

最新文章

  1. 特斯拉纯视觉FSD版本Bug频发!马斯克:不认真测试的车主就取消资格
  2. v-show 与 v-if 的区别
  3. linux内核定时唤醒,Linux内核时钟与定时器的实现
  4. ViewPager两种方式实现无限轮播
  5. js新建list_制作一个基于node的todo-list工具,并发布至npm
  6. JS判断鼠标从哪个方向进入DIV容器
  7. 在搜索框自动输入文本_Selenium 时间搜索框查询和日期大小比较
  8. 抓取各个浏览器引擎关键字,,百度学术关键字
  9. python中把输出结果写到一个文件中_Python3.6笔记之将程序运行结果输出到文件的方法...
  10. Linux网络配置的基本方法
  11. 详解 BP 神经网络基本原理及 C 语言实现
  12. linux中杀死指定进程,Linux中通过 kill命令 杀死指定进程
  13. LeetCode(884)——两句话中的不常见单词(JavaScript)
  14. Ruby设计模式透析之 —— 适配器(Adapter)
  15. html实现点击直接下载文件-前端教程
  16. UDP通信——通过UDP进行转发
  17. 安全电子签章密码技术规范_「签签课堂」(四)一篇读懂电子合同的专业术语...
  18. 适合 C++ 新手学习的开源项目——在 GitHub 学编程
  19. 新版iTunes如何设置手机铃声
  20. 【笔记】《算法竞赛 从入门到进阶(罗勇军)》第7章 动态规划

热门文章

  1. mac 用 brew
  2. [dp之路]7.25test
  3. 整合quickx到普通cocos2dx
  4. 元素序列几个常用排序算法:一
  5. php 编译mcrypt,centos 6下编译安装php时安装mcrypt支持库
  6. Python要了解哪些编程基础 如何学Python比较好
  7. 最新版火车头织梦内容发布规则_火车头采集器V8.6发布dedecms自定义字段解决方案...
  8. Linux其实非常好学
  9. spring boot 不连接数据库启动
  10. Linux防止SSH暴力破解