快过年了,首先祝大家新春快乐,在过年的这段时间给大家分享点我编程时遇到的有意思的事情,事情很小,却影响不小,很有细节决定成败的以为,希望能够引起大家的共鸣和思考!
今天和大家分享的是“小符号引发的大案件”
我们在编程是有时候不太在意某些常见的符号,比如我们最常见的单引号,双引号,逗号,句号,回车符等,这些符号在显示的时候都没有问题,正常的代码也能处理,但是就在前段时间,它们再js中给了我一个巨大的惊吓!
首先我们看看第一个罪魁祸首:
我们来看看它造成的影响:
说明:这个问题是在js函数的调用中,参数出现了分割
原因:字符创的结束标记为{’}号,而在参数中出现了这个符号,造成的结果的是出现调用失败的情况!
然后我们再看看第二个帮凶:
这个最平常的回车键会有什么”危害“呢?
第一张图片是回车符在数据库中存储形式:
第二张图是在界面中的显示结果:
说明:软回车在数据库中的表现是个空格,复制出来在编辑器中还是空格,但是一旦在程序中执行,就会还原成回车
解决方案:
一,替换
代码:
实际这个方法较为笨拙,处理单个的字符较为快速,但是字符多了就会力不从心。
二,转换
1,加密
结构组成等。 生命的进化
7732396360497730496102097551193000294097243795217597320491077339514269
这个方法实际就是用我上篇博客写的方法,可以解决基本所有的特殊字符问题,较为实用,既可以加密内容,也可以屏蔽特殊字符!2,存html
这个方法实际还是采用第一个方法,不过不是消除,而是换成html语言存储数据库:
strcontent += strcontent.Replace("\n", "<br>");
strcontent += strcontent.Replace("\r", "<br>");
总结:
1,想到比做到重要
有很多时候,经验就是你想的比别人多,或者预先想到,而这种经验最好的积累办法就是自己多想,在做之前要充分想想自己要做的事情,尽自己最大的努力做到最大的缜密!起码保证大的错误不会有!
2,传承就是财富
我们做的项目中遇到的问题,前人80%遇到过,我们要充分利用前人这个最宝贵的巨人,调动自己的积极性,问清楚前人的经验,并将之形成文档,保证我们的传承性完整!
3,做事和做人=两件事
在做人的时候,我们要和气,做事留一份余地,给别人也是给自己,但是做人的道理,有时候不一定在做事上合理,更甚至会恰恰相反,我们做人和做事要分开,做人就是和和气气,做事就是认认真真,一丝不苟,将事情一条一条列出来,做好资源的备份(包含人力和物力),在最困难的时候能够顶上去,我们才能做成事!
总结为一句话吧:很多时候,所见非所得,需要我们挖掘!
最后祝大家新春快乐,马年吉祥!