Ticket #101 (closed Bug: fixed)

Opened 14 years ago

Last modified 13 years ago

产品报价库后台导入CMS图片出现的怪问题

Reported by: huangjianhua Owned by:
Priority: major Milestone:
Component: 产品库 Version:
Keywords: 导入CMS图片 HTML编码 Cc: yuanhuoqing, chenchongqi
Due Date: 30/03/2012

Description

问题描述:
编辑在后台针对某一篇文章导入CMS图片时,点击"增加"后出现页面,如下图所示:


出现问题的环境:

IE系列下面

处理过程:

1.查下后台的Log日志输出:

字符长度: 33 --- 字符内容: 2评测图片
2012-03-30 08:54:31,688 [resin-tcp-connection-*:7070-441] ERROR cn.com.pconline.core.AppException  - error.unexpected\r\njava.sql.SQLException: ORA-12899: value too large for column "PRODUCT_APP"."PDL_PRODUCT_PIC"."ARTICLE_TAG" (actual: 33, maximum: 20)
        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)

2.从日志的输出来看,提交增加时,将中文的 文章分类:"2评测图片"
处理成了: "2评测图片"
处理成的这种编码叫NCR码.

3.上面的情况只在IE系列下,只对那一篇出问题的文章,才会出现这种问题,其他文章没事,(现在还在纠结为什么其他的文章不会出现这种问题呢?)

4.换了个Firefox浏览器,试了下,出问题的文章也不会出现上面这种问题,其他的文章就更加不会出现这种问题了.

5.检查下页面的JS代码,也没发现明显错误,当时就发现HTML标签缺内容的字符编码,但看了JSP的页面有编码规定,这时就没注意这个问题了.

6.叫火青过来看了下,代码也没明显问题,也发现HTML标签的字符编码没有,于是就叫我加上去,更新上去看看,一更新,出问题的文章,没问题了.

坑爹呀,竟然是这么一段代码:

<meta http-equiv="Content-Type" content="text/html; charset=GBK">

总结下:从上面的问题,得出一个结论,以后在写JSP还是HTML页面的时候,必须要指定HTML的内容编码,省的以后出现什么古灵精怪问题,还有一点就是,当处理一个问题发现处理不下去的时候,自己有怀疑的地方,就大胆尝试吧,(当然,前提是动作别太大).

Attachments

1-1.png Download (3.5 KB) - added by huangjianhua 14 years ago.

Change History

Changed 14 years ago by huangjianhua

comment:1 Changed 14 years ago by chenyinle

不指定内容编码的话,内容编码会跟浏览器的编码设置有关,做get或post的时候,提交的参数的编码方式,如果跟webapp服务器端的解码方式不一致的话,字符还原就会出现问题

comment:2 Changed 14 years ago by chenchongqi

关于字符编码这个问题,有很多值得注意的,建华你好好整理一下分享给大家。

comment:3 Changed 13 years ago by yuanhuoqing

  • Status changed from new to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.