用字符串表示重音符号

时间:2012-02-20 17:06:06

标签: javascript python html

我在使用Javascript和DB的Python程序中工作。我在处理书面重音标记时遇到了一些问题(á,é,í,ó,ú)。首先,我的程序显示一些文本输入,以便用户写入信息。当用户单击“接受”按钮时,javascript将获取该信息并将其发送到另一个python程序,该程序将该信息保存在数据库中。用户下次输入时,将显示保存在数据库中的信息,而不是文本输入。

我的问题是信息上有任何重音标记。起初我虽然这是javascript的问题,所以我开始研究替换函数。然后我看到信息是用重音标记保存在数据库中的,所以问题不在于javascript函数或数据库。

信息来自数据库,它可以很好地显示重音符号。然后javascript接受该值,如果我发出带有该值的警报,它会很好地显示重音符号。该javascript将带有AJAX的URL上的值发送到另一个python程序。这个python接收到该值,但是在打印时,它会被修改。重点标记不再显示,而是一个小方块。我用这段代码收到了这些值(我已经多次使用过了):

form = cgi.FieldStorage()
area = form.getfirst("area")

所以我开始再次品尝python替换功能,将该角色更改为合适的重音标记。我一直在尝试这样的事情:area.replace("\u00e9","é") for(é)。但它不起作用。

我的程序中也有这个:# -*- coding: iso-8859-1 -*-适用于特殊字符。

我需要找出python代表重音的方式,以便我可以替换它们。

2 个答案:

答案 0 :(得分:3)

你需要在这里备份。

设置utf-8(# -*- coding: utf-8 -*-)的编码,并使用与unicode一起使用的编辑器。

声明你的常量,并且通常使用像u'hélas'这样的unicode字符串。

好像通过魔法,重音会起作用(只要你的数据库正确处理unicode;确保它确实如此)。

答案 1 :(得分:1)

如果您的数据在数据库中没问题,但看起来已经加密到python程序,那么数据库连接的设置方式可能会出现问题。在重新安排工作环境之前,我会先调查一下。 (但是也要读取Unicode引用。)