【问题标题】:Encode unicode special character (symbol) in Python?在 Python 中编码 unicode 特殊字符(符号)?
【发布时间】:2012-03-18 19:13:21
【问题描述】:

我正在使用 Python(特别是 Tornado 框架)开发一个公司网站。当我将数据输出到html时,有一些unicode格式的特殊字符,例如(r)或(tm),例如:

Google%u2122

如何将其编码(或转换)为正确的格式,例如 Google (TM)。我尝试使用 encode() 方法,但它不起作用。

非常感谢你

【问题讨论】:

  • 你如何得到Google%u2122的值?因为当我尝试print u"Google\u2122" 时,我得到Google™。但%u 不起作用。
  • 嗨,Ikke,感谢您的链接,我从那里得到了问题。我将在下面的答案中发布详细信息。
  • %u2122 是 JavaScript escape() 编码。它不能在任何其他上下文中合法使用(特别是它与标准 URL 编码相同),并且如果您在数据库中发现一种强烈的数据完整性气味。这些数据来自哪里?

标签: python unicode tornado


【解决方案1】:

感谢 Ikke 的链接,因为我在网络环境中工作(使用我提到的 Tornado)所以那里的主要答案不符合我的要求,而是这个https://stackoverflow.com/a/300556/183846

from urllib import unquote

def unquote_u(source):
    result = unquote(source)
    if '%u' in result:
        result = result.replace('%u','\\u').decode('unicode_escape')
    return result

print unquote_u('Tan%u0131m')

为了应用到 Tornado 模板,我创建了 f

【讨论】:

    猜你喜欢
    • 2016-10-19
    • 2013-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-09
    • 2023-03-11
    • 2014-09-17
    • 1970-01-01
    相关资源
    最近更新 更多