对于Django用例,有两个答案。下面是它的django.utils.html.escape函数,供参考:def escape(html):

"""Returns the given HTML with ampersands, quotes and carets encoded."""

return mark_safe(force_unicode(html).replace('&', '&').replace('

t;').replace('>', '>').replace('"', '"').replace("'", '''))

为了扭转这种情况,Jake的答案中描述的Cheetah函数应该可以工作,但是缺少一个引号。此版本包括一个更新的元组,其替换顺序是相反的,以避免出现对称问题:def html_decode(s):

"""

Returns the ASCII decoded version of the given HTML string. This does

NOT remove normal HTML tags like

.

"""

htmlCodes = (

("'", '''),

('"', '"'),

('>', '>'),

('

('&', '&')

)

for code in htmlCodes:

s = s.replace(code[1], code[0])

return s

unescaped = html_decode(my_string)

然而,这不是一个通用的解决方案;它只适用于用django.utils.html.escape编码的字符串。更一般地说,最好还是使用标准库:# Python 2.x:

import HTMLParser

html_parser = HTMLParser.HTMLParser()

unescaped = html_parser.unescape(my_string)

# Python 3.x:

import html.parser

html_parser = html.parser.HTMLParser()

unescaped = html_parser.unescape(my_string)

# >= Python 3.5:

from html import unescape

unescaped = unescape(my_string)

建议:在数据库中存储未转义的HTML可能更有意义。如果可能的话,从美化组得到未美化的结果是值得研究的,并且完全避免这个过程。

对于Django,转义只在模板呈现期间发生;因此为了防止转义,只需告诉模板引擎不要转义字符串。为此,请在模板中使用以下选项之一:{{ context_var|safe }}

{% autoescape off %}

{{ context_var }}

{% endautoescape %}

django html中文乱码,如何使用Python/Django执行HTML解码/编码?相关推荐

  1. 请求中文乱码_【1】执行Http请求访问网页

    向导团队 - fourkings [1]执行Http请求访问网页 1. 目标网址 我们的目标网址是当当网,url地址是 http://book.dangdang.com/ 2. 获取HTML文档内容 ...

  2. django html中文乱码,django中文乱码及中文报错问题

    django是一个不错的WEB开源框架.今天测试,发现有些页面中文乱码,肯定是编码哪儿出了问题.django配置要修改settings. 1 2 LANGUAGE_CODE = 'zh-cn' TIM ...

  3. python django部署docker_如何Docker化Python Django应用程序

    Docker是一个开源项目,为开发人员和系统管理员提供了一个开放平台,可以将应用程序构建.打包为一个轻量级容器,并在任何地方运行.Docker 会在软件容器中自动部署应用程序. Django 是一个用 ...

  4. python爬虫中文乱码_解决Python爬虫处理文件时候中文名称出现乱码问题

    当下如果需要批量处理文件,爬虫网页和图片的时候使用Python是最为简单和高效的.但是在处理过程中还是有一些细节问题,比如在爬虫中文名称和处理中文文件URL的时候会出现乱码.实际上就是因为编码的问题. ...

  5. python画图显示中文乱码_解决Python pandas plot输出图形中显示中文乱码问题

    解决方式一: import matplotlib #1. 获取matplotlibrc文件所在路径 matplotlib.matplotlib_fname() #Out[3]: u'd:\\Anaco ...

  6. java中文乱码解决之道(二)—–字符编码详解:基础知识 + ASCII + GB**

    原文出处:http://cmsblogs.com/?p=1412 在上篇博文(java中文乱码解决之道(一)-–认识字符集)中,LZ简单介绍了主流的字符编码,对各种编码都是点到为止,以下LZ将详细阐述 ...

  7. 【开发环境】Java 文件生成 Windows 系统 .bat 批处理文件并自动执行 ( 输出 GB2312 格式处理中文乱码 | \r\n换行 | Runtime 执行 Cmd 命令 )

    文章目录 Java 文件生成 Windows 系统 .bat 批处理文件并自动执行 1.生成 bat 脚本注意事项 2.Java 执行 Cmd 命令 3.完整代码示例 4.执行结果 Java 文件生成 ...

  8. 关于MySQL 5.6 中文乱码的问题(尤其是windows的gbk编码)

    一般MySQL 数据库乱码由以下几种情况造成(按照顺序): 1. 创建数据库的时候没设置编码,解决办法: 就是在创建数据库的时候设置编码, 例如: CREATE DATABASE `mydb` CHA ...

  9. java转换中文乱码_java中文乱码解决之道(四)-----java编码转换过程

    前面三篇博客侧重介绍字符.编码问题,经过这三篇博客各位博友对各类字符编码有了一个初步的了解,要了解java的中文问题这是必需要了解的.可是了解这些仅仅只是一个开始,如下博客将侧重介绍java乱码是如何 ...

  10. python3 django html 中文乱码_解决django后台管理界面添加中文内容乱码问题

    在学习使用django做一个简单的个人博客项目,通过admin后台添加中文文章内容的时候,遇到中文内容显示乱码的问题. 排除了网上资料中的提到的几个问题: 1.数据上传默认采用的是unicode编码 ...

最新文章

  1. L0,L1,L2范数
  2. 「分块」数列分块入门1 – 9
  3. c语言非法字符有哪些,98行的四则计算器.(支持括号)加入了非法字符的检测
  4. 6000个边缘Kubernetes节点驱动城市80万次智能停车,如何成为可能?
  5. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 16丨市场分析 II【难度困难】​
  6. while(0)循环还执行吗_for循环
  7. camera (14)---智能手机双摄像头原理解析:RGB +Depth
  8. Delphi 开发 ERP [1] 准备
  9. apollo权限管理
  10. Python+OpenCV 设计GUI图像处理
  11. oracle表转为分区表,Oracle 在线重定义(将普通堆表转换成分区表)
  12. win10 同步 android,Win10“你的手机应用更新:支持安卓屏幕镜像和通知同步
  13. 地产公司新建商业中心调研-调研内容
  14. 梦三国2英霸模式貂蝉攻略(玩大流)
  15. 【Node.js】前端页面仔的必修课,认识node
  16. 《寂静之城》未删节版
  17. 软件项目经理,如何确保项目管理三大目标(质量、进度、成本)的达成?
  18. 我看到了一个真实的日本
  19. 简单聊聊FPGA的一些参数
  20. 前端 彩票开奖走势图的实现

热门文章

  1. 呼叫中心几种常见质检方式的对比
  2. cobbler自动化系统安装
  3. 磁盘和文件系统的管理
  4. 仿微信图片上传,带加号,且超过最大数隐藏
  5. vertical-align的使用及解决图片底部默认空白缝隙问题和图像与文本垂直方向居中对齐
  6. C# 实体映射,对象映射框架——Mapster
  7. 微信小程序获取二维码scene参数报错 41030:invalid page rid: xx-xx-xx
  8. php解析html类库simple_html_dom(2)
  9. c语言贪吃蛇游戏的关键技术,C语言的贪吃蛇游戏设计
  10. 管理新语:不愿意做的事情,与其应付,不如直接明说