设为首页 收藏本站
查看: 899|回复: 0

[经验分享] python把特殊字符存入mysql

[复制链接]

尚未签到

发表于 2018-8-9 10:08:22 | 显示全部楼层 |阅读模式
凌晨6点半啦,TMD,搞了我一个晚上,网上找了N多的资料没有一个正确的,要不就是说MYSQL自已过滤特殊字符要转义,要不就说用PHP的函数进行函数转义,唉没有一个能用的上的。这个互联网是怎么了,真搞败了。还是自己动脑子吧。可怜我那10几个脑细胞就这样没啦。唉。。。。:(  如果想将特殊字符存入MYSQL有一点难度。因为mysql自已自动过虑特殊字符像引号,单引号,\,等。都在插入数据的时候被mysql数据库自己过虑了。有牛人用MYSQL注入的方法,(原来俺也玩过web注入搞别人的站)。但是拿来放在我现在的项目上试过以后还是不行,认为虽然转义过还是有一点差别的,例如,我想把 \ 放入MYSQL,用 \\ 转义的方式来做,虽然放入数据库是 \,读出来还是\ 但是,还是觉得怪怪的,用到我的项目还真的是不行,
  下面用下我的成果,来源于python的正则表达式,看下面关于python部分截取:
  -------------------------------------------
  反斜杠的麻烦
  在早期规定中,正则表达式用反斜杠字符 ("\") 来表示特殊格式或允许使用特殊字符而不调用它的特殊用法。这就与 Python 在字符串中的那些起相同作用的相同字符产生了冲突。
  让我们举例说明,你想写一个 RE 以匹配字符串 "\section",可能是在一个 LATEX 文件查找。为了要在程序代码中判断,首先要写出想要匹配的字符串。接下来你需要在所有反斜杠和元字符前加反斜杠来取消其特殊意义。
字符 阶段 \section 要匹配的字符串 \\section 为 re.compile 取消反斜杠的特殊意义 "\\\\section" 为字符串取消反斜杠  简单地说,为了匹配一个反斜杠,不得不在 RE 字符串中写 '\\\\',因为正则表达式中必须是 "\\",而每个反斜杠按 Python 字符串字母表示的常规必须表示成 "\\"。在 REs 中反斜杠的这个重复特性会导致大量重复的反斜杠,而且所生成的字符串也很难懂。
  解决的办法就是为正则表达式使用 Python 的 raw 字符串表示;在字符串前加个 "r" 反斜杠就不会被任何特殊方式处理,所以 r"\n" 就是包含"\" 和 "n" 的两个字符,而 "\n" 则是一个字符,表示一个换行。正则表达式通常在 Python 代码中都是用这种 raw 字符串表示。常规字符串 Raw 字符串 "ab*" r"ab*" "\\\\section" r"\\section" "\\w+\\s+\\1" r"\w+\s+\1"
  __________________________________________________
  看到了吧。呵。呵就是用这个方法。。。比如你想存入有特别符号的字符串。那么前面加个 R
  就行啦。呵。呵。试过我在本地python2.5+mysql5.0成功。
  python正则参考:wiki.ubuntu.org.cn/Python%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97
  如果你测试不行。给我留言吧,大家一块探讨~!!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-549013-1-1.html 上篇帖子: Python之模块介绍 下篇帖子: Python 中 的 json 模块
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表