我的数据库是MYSQL数据库,字段CONTENT(VARCHAR)4000长度.
我直接在网页里复制了一段新闻,跟踪后台代码,发现代码执行正常,INSERT语句也包含有复制的文本内容(注:我存入数据库的数据是经过HTML解码的,也就是包含有HTML标记对,因为我会在另外一个页面直接取出该数据,显示在页面上),但打开数据库发现,存入的数据,部分信息丢失了,在另外一个页面显示,数据呈现顺序也是混乱的!
小弟对MYSQL了解甚少,不知道是什么原因,调试了一晚上也没有一点眉目!
望各位朋友同行给点意见!
需要看代码的请给出邮箱,请大家帮忙了!
提出意见者均有分!!!!!!!!!

解决方案 »

  1.   

    存入的数据,部分信息丢失了,在另外一个页面显示,数据呈现顺序也是混乱的!
    -----------------------------------------
    不知道楼主具体所指CONTENT(VARCHAR)4000对某些网页来讲是不够的
    可能网页内容被数据库字段长度限制,入库信息被截取
    楼主可以计算一下网页内容长度,看看2000-3000个字符的内容插入后是否丢失
    至于数据呈现顺序混乱,加入事务控制看看是否仍有这样的问题
      

  2.   

    因为楼主保存的数据可能包含html描述样式信息,看起来正文较短,其实内容会较长,如果超长的话可能造成数据丢失,
      

  3.   

    会不会是因为我MTSQL格式设置的是BG2312的原因?,看过很多资料,
    都说改成UTF-8比较合适.
    引起存入数据难道是设置的格式不同吗??
      

  4.   

    谢谢楼上两位的意见,也许是我没说清楚,我数据库设置的字段是4000大小,
    但我后台代码有将多出的字段存入数据库字段下一条记录的功能,当我读出的时候,
    将会把他们全部拼接起来!
    ===>这儿可能出的问题吧如果一个页面4k以内你观察到,INSERT语句也包含有复制的文本内容,所以应该没有问题
    你的问题可能出在<<后台代码有将多出的字段存入数据库字段下一条记录>>
    后台代码先取4000个字节==(CONTENT(VARCHAR)4000)
    但是你可能取了4000个字,在utf-8中只能存放2000个字符,在gb2312中能存放2000-4000个字符你的后台代码将文件分块的时候可能已经造成了信息丢失
      

  5.   

    你试试看不要太长内容是否会被截取掉.
    如果存网页这样.最好要大一点mssql我一般是用text字段
      

  6.   

    先测试小容量的文字是否会出现问题;如果没有问题,再测试长的数据是否会放在两条数据里面;
    测试长数据可以先测试全部是文字内容不带html代码的,再测试带html的.这样来缩小范围找到问题
      

  7.   

    谢谢各位的意见~问题基本已经解决了~
    MYSQL格式设置为UTF8,字段大小改成1W,试了几次都没问题这样应该行了吧??
      

  8.   

    1W不能解决问题
    比如
    www.google.com 230
    www.csdn.net 131649
    www.sina.com.cn 217048
      

  9.   

    请问blackant2(乔峰),有什么办法可以彻底解决这个问题吗?