美文网首页
让人恶心的编码问题?

让人恶心的编码问题?

作者: 赵志文学编程 | 来源:发表于2017-05-16 19:15 被阅读0次

    很烦躁今天一天简直烦躁透顶,明明就是个小功能我居然花了好久去解决,今天本来想把回复功能做出来的,很高兴我在8点完成了这个既定的要求。总的来分析一下做回复的思路.

    1.第一点就是如何去回复一个帖子,首先肯定要把它的id拿到,然后挨个排的把父级id等于这个帖子的id的拿出来,第一点简直简单到爆炸。
    2.第二点就是怎么在原有的基础上加上自己的回复,这点一开始的思路是通过get方式去请求的,大错特错的想法!!!我后来想一想还是通过post这种安全又可以存储较长的内容的方式更好,大概2M够你写了。问题来了我本身回复是做在帖子页那么,不可能跳页到其他页再去回复,那么这个post怎么获得呢?
    3.我咕噜咕噜地胡乱想了一通,其实可以通过表单提交中以get和post混合搭配的淫技去打这发雷电,就是跳转的action可以混搭?id=....诸如此类的,然后提交是以post方式提交的!那么post的请求怎么去利用其实加个判断就行了,先读出回复内容,如果为空的话,那么就不先添加到数据库中,反之添加到数据库中,雷一雷。然后就是日常新的一次遍历了。
    4.你以为这就完了吗,上面这些稍微思考下tm都能出来,问题在于我们的标题,编码。我从来都没有想过一个东西会这么恶心简直恶心到家了!

    进入正题

    知道输入一个jsp文件到浏览器到底经过多少次解码吗?说实话我也不知道
    但是我觉的为了避免这种问题我觉得最好的办法就是统一编码,万年的utf-8。
    1.首先就是jsp自身文件编码要正确,
    2.就是pageEncoding也要正确(告诉tomcat我是什么编码你反正按照他给我转换为utf-8的java源文件)。contentType也要统一,就是最后输出到浏览器的时候为utf-8。那么meta 里面的charset是什么玩意呢?是告诉浏览器我是什么编码,你按照这个给我解码!
    3.牵扯到jdbc编码又开始恶心了。首先你的数据库系统本身编码必须统一的通过配置my.ini重启服务解决,并且再创建数据库和表时也要指定编码,最关键的是你数据库和你程序连接的时候也要统一编码,通过设置<数据库名>?useUnicode=true&characterEncoding=utf-8解决。
    4.那就是在拿请求里面的参数之前先setCharacterEncoding()同理response也要如此,这样永远都不会出现乱码。

    其他

    其实主要是前几天的问题那就是连不上数据库其实是在服务器的那边添加驱动包即可具体就是配置服务页面点open launch configuration中的classpath去配置!

    相关文章

      网友评论

          本文标题:让人恶心的编码问题?

          本文链接:https://www.haomeiwen.com/subject/gttrxxtx.html