mantis bug管理系统的二次asp.net 接口开发的时候,碰到编码的问题,如上述标题。

此系统的功能比较好,开源的php+myql.

mysql 的 默认设置

file:my.ini

[mysql]

default-character-set=latin1

[mysqld]

default-character-set=latin1

mysql 数据库的编码细节查询都是latin1编码。

Mantis 系统的Mysql数据库链接
    数据库编码方式:latin1
    当前项目文档的编码方式: utf8
   
    对中文字符串的更新操作和查询操作需要编码格式转换
    转换方式:Formarter.GetEncodeToLatin|Formarter.GetEncodeFromLatin
   
    更新sql语句之前使用set names latin1;
    例如:
        插入数据
        sql = "set names latin1;insert into tableName( col1 ) values( '?col1')"
        MySqlCommand comm = new MySqlCommand(sql, conn);
        MySqlParameter pcol1 = new MySqlParameter("?col1", MySqlDbType.VarChar);
        //编码转换
        pcol1.Value = Formarter.GetEncodeToLatin(col1);
        comm.Parameters.Add(pcol1);
       
        //查询数据
        sql = "set names latin1;select realName from mantis_user_table where id=" + reporterUserId;
        comm = new MySqlCommand(sql, conn);
        dr = comm.ExecuteReader();
        if (dr.Read())
        {
            reporterRealName = dr["realName"].ToString();
            //编码转换
            reporterRealName = Formarter.GetEncodeFromLatin(reporterRealName);
        }
        dr.Close();

        public static string GetEncodeToLatin(string src)
        ...{
            return System.Text.Encoding.GetEncoding("latin1").GetString(System.Text.Encoding.Default.GetBytes(src));
        }


        public static string GetEncodeFromLatin(string src)
        ...{
            return System.Text.Encoding.Default.GetString(System.Text.Encoding.GetEncoding("latin1").GetBytes(src));

      
        }

页面的编码也要统一,尽可能使用System.Text.Encoding.Default获取默认的编码方式,而不是utf8方式

在数据库中编码改变时,sql语句的set names latin1也要相应的变化才能正常录入中文

转载于:https://www.cnblogs.com/peter9/archive/2007/10/26/2362305.html

data too long for column 'Auser' at row 1相关推荐

  1. 解决:com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column ‘ip‘ at row 1

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. 报错: SQL []; Data truncation: Data too long for ...

  2. Data truncation: Data too long for column 'XXXXX' at row 1

    MySQL的默认编码是Latin1,不支持中文,所以会出现乱码 后来我把my.ini中的Latin1改为utf8 [mysql] default-character-set=utf8 [mysqld] ...

  3. Data too long for column ‘xxx‘ at row 1 ——数据库字段长度太短

    目录 一.写在前面 二.问题场景 三.异常重现 四.原因分析 五.解决方案 1.根据映射关系找到字段名 2.查询表结构 3.修改字段长度 4.修改完成,再次运行相关业务无误 六.核心代码 七.其他细节 ...

  4. Java常见问题之Data too long for column 'orResponse' at row 1

    本文介绍了出现Data too long for column 'trRequest' at row 1问题的解决方式 一.bug提示如下 Error Code: 1406. Data too lon ...

  5. Data truncation: Data too long for column 'xxx' at row 1

    Data truncation: Data too long for column 'xxx' at row 1 完整的错误内容可能是下面这样的: 严重: Servlet.service() for ...

  6. 成功解决data too long for column 'name' at row 1

    在程序中写了一段代码向数据库中插入数据,出现了data too long for column 'name' at row 1的问题.在google搜了一下解决方法,真是五花八门,也逐一试了一遍,终于 ...

  7. 【Data truncation: Data too long for column ‘XXX at row 1 报错】

    问题描述 在进行提交修改数据的时候,出现Error updating database. Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncat ...

  8. Data too long for column ‘password‘ at row 1“

    django.db.utils.DataError: (1406, "Data too long for column 'password' at row 1") [19/Oct/ ...

  9. 解决:Data truncation: Data too long for column ‘XXX‘ at row 1

    * 问题: Data truncation: Data too long for column 'XXX' at row 1* 项目开发中遇到一个问题,下面是问题: Caused by: com.my ...

最新文章

  1. 3dContactPointAnnotationTool开发日志(二二)
  2. 学界 | 数据并行化对神经网络训练有何影响?谷歌大脑进行了实证研究
  3. Python 生成MYSQL inser语句
  4. stm32搭建mqtt_STM32+ESP8266+AIR202基本控制篇-102-服务器基本搭建-安装MQTT软件(.Windows系统)...
  5. CodeForces - 484E Sign on Fence(主席树区间合并+二分)
  6. 2008技术内幕:T-SQL语言基础 联接查询摘记
  7. 关闭浏览器网页触发事件_浅析浏览器渲染和 script 加载
  8. excel帮助文档_可以惊艳到你的6个excel基础技巧
  9. 学习笔记之数据可视化(二)——页面布局(中)
  10. 西南交通大学计算机网络,西南交通大学计算机网络实验2015-2016第2学期期末试卷...
  11. SAP License:SAP IDES常用功能及测试环境
  12. 低代码再掀炒作热潮?
  13. 最新全国行政区域编码(2018年12月)
  14. Ubuntu 安装微信网页版客户端
  15. android 电池权限,Android M及以上提示用户将APP加入电池优化白名单
  16. 学习Python第5天
  17. 古有穷书生街中弄笔,今有弄潮儿网上卖字
  18. 这就是你要的廉价,廉价版iPhoneX到底便宜在哪?
  19. 【QQ空间】网名大全
  20. 三节课产品经理P1 学习总结

热门文章

  1. python学习-综合练习(平方根、海伦公式、随机数、转换函数、数值交换)
  2. 用c语言实现0到59的数码管,跪求单片机0~99数码管显示用C语言编写的程序
  3. 编译原理实验语义分析_「编译原理」LL(1)文法分析,简单优先分析
  4. iphone7配置_西安苹果售后维修教您iphone7发热严重、耗电快怎么解决?
  5. 别再叫我“老工”!!!工程师姓什么很重要!
  6. as3是js和java_AS3与JS进行交互(一)
  7. json在android的应用,JSON解析在android应用程序
  8. linux 基因组数据下载,linux下用Aspera从NCBI上下载SRA格式宏基因组数据
  9. C#并发实战Parallel.ForEach使用
  10. 前端开发掌握nginx常用功能之serverlocation匹配规则