• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

汉语插入MYSQL时乱码

mysql 搞代码 7年前 (2018-06-04) 117次浏览 已收录 0个评论

中文插入mysql时乱码
汉语插入MYSQL时乱码 汉语插入MYSQL时乱码 汉语插入MYSQL时乱码
今天发现当插入汉字进数据库时报错,报的是错误的数值:如/xe5/xa4…..等等
大概意思是当存入数据库时进行的转码,当遇到这个问题时我就知道输入的汉字进行了转码。然后一顿乱搞…结果悲剧了

  首先思路:乱码了!  通常的反应web服务器的URLconding,我配了tomacat的(其实问题不再这,这个问题是页面与程序传递时的乱码问题 ,但由于没带脑子倒腾一阵也没弄好。)
  接着思考中….
  接着我把jsp web服务器 数据库的编码格式统一,看看能成不,结果还是不成(这里我没发现一个蛛丝马迹,我的数据库编码格式是latin1,悲剧就在这里发生了)
  望着  Server Characterset    utf8
        Db      Characterset    utf8
        Client      Characterset    utf8
        conn.      Characterset    utf8
   真有点欲哭无泪
   搞了半天还是没找到问题的发生源 ,很是打击啊……..
   于是拿出杀手锏,一块一块的查。
    首先整理下思路,现在我确定英文和数字能输入数据库,说明只有汉字出现转码,那么就还是字符集不统一的问题,但问题是哪里的字符集不同哩??唉,不得不感叹一声苦B的IT民工啊!!
    抱怨归抱怨,还得继续,一点一点查,很幸运,我在别人网上问题的话中得到灵光,“我数据库中能插入中文但程序中不能插入”,哦!我试试我数据库中能插入汉字不,结果我发现我在我的数据库中不能插入汉字,哈哈,开心了!!小样找到你了!
     接着分析,数据库不能插入汉字…稀奇了,字段是varchar型没错啊。此点可能很苦恼,但这好办,网上接着查。
     这里的问题有点隐藏性,起先我说过我发现我当初建立的数据库是latin1的我改过来的,这里概念不止数据库有Characterset 表也有Characterset ,连他的列(column)也有Characterset 悲催了!!!!
     我最早改了数据库的Characterset 在检验问题时改了表的Characterset 但我没发现列的Characterset  最后我改了列的Characterset utf8结果问题解决了
     这个问题发生的原因是我们用工具建立数据时它会根据你数据库的Characterset 来依次定义下面的表和列的Characterset 这样如果你要换编码格式就需要把数据库、表、列的Characterset 都依次改了。
     这次问题的解决很纠结,所以以后解决问题时绝对要思路清醒,不然胡乱一搞那结果绝对悲催,仅以此文警示自己!!!  唉可能最近事太多了吧。。。。。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:汉语插入MYSQL时乱码
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址