码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • python处理保存富文本内容到数据库中报语法错误的问题


    当我们使用mysql执行保存富文本数据到mysql中时,由于富文本内容中,包含单引号、双引号以及其他字符,从而导致保存时,mysql报语法错误。

    譬如:

    remark = "\"

    oct图片进行amd四分类算法

    \\n
    # 调用算法获取单张图片预测结果\\ndef predict_one_image(img_path):\\n\\turl = \\\"http://106.52.171.21:8325/api/oct_4_amd\\\"\\n\\tfiles = {'file': open(img_path, 'rb')}\\n\\ttry:\\n\\t\\tresult = requests.post(url, files=files).json()  # {'code': '0', 'data': 'GA', 'msg': 'succeed'}\\n\\texcept Exception:\\n\\t\\traise Exception
    \""
    • 1

    当我们执行sql语句譬如:

    UPDATE runoob_tbl SET runoob_remark=xxx WHERE runoob_id=3
    
    • 1

    由于xxx这里单双引号等,就会触发sql语法错误。

    解决思路:我们把富文本内容进行转码:

    # 编码
    def encode(s):
     return ' '.join([bin(ord(c)).replace('0b', '') for c in s])
    # 解码
    def decode(s):
     return ''.join([chr(i) for i in [int(b, 2) for b in s.split(' ')]])
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    当我们使用
    res = encode(remark)
    来编码上面富文本内容时:
    会得到如下的二进制字符串:

    100010 111100 1110000 111110 1101111 1100011 1110100 101011011111110 111001001000111 1000111111011011 1000100001001100 1100001 1101101 1100100 101011011011011 101001000000110 111110001111011 111101110010111 110110011010101 111100 101111 1110000 ......
    
    
    • 1
    • 2

    这个时候,再执行sql语句,就不会报错了。

    当我们需要转码的时候,只需要使用decode函数,执行一下,就会转码回来。

    参考文章:https://www.zhangshengrong.com/p/wradZeRkXB/

  • 相关阅读:
    电脑蓝屏:KERNEL_SECURITY_CHECK_FAILURE 分析
    蒙牛智慧牧场:最新鲜的牛奶来源于“数字牛”
    [C#]使用C#部署yolov8的目标检测tensorrt模型
    高清无线传输同屏器如何实现,无线,1屏和4屏,2屏和3屏显示一样的画面,从3屏和4屏和可以对PC端控制。
    Configuration涉及的Full&Lite模式
    Java网络编程——NIO处理写事件(SelectionKey.OP_WRITE)
    JUC——并发编程—第二部分
    基于最小误差阈值法的特定医学图像分割算法研究-含Matlab代码
    docker ,k8s 以及 k8s 和 docker的关系
    纸牌博弈问题
  • 原文地址:https://blog.csdn.net/qq_42991509/article/details/128003734
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号