- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将希伯来字母插入我的数据库(mysql)使用 request.form['some_input']
这是我的init.py 的代码:
if request.method == "POST":
malfunction_opener = request.form['MalfunctionOpener']
malfunction_handler = request.form['malfunctionHandler']
system = request.form['system']
unit = request.form['unit']
我知道发生的事情是关于对我获得的信息进行编码/解码,但我无法完成这项工作。我也尝试过 get_data,将其编码为 utf-8,获取它的字符串值,但没有成功。
在许多其他帖子中,我看到需要添加:
# -*- coding: utf-8 -*-
我也这么做了。
当我尝试插入任何希伯来字母时,我总是收到此错误,例如:“שלום”
2017-05-02 17:35:23,930 - Rotating Log - ERROR - 'ascii' codec can't encode
characters in position 0-3: ordinal not in range(128)
2017-05-02 17:35:23,931 - Rotating Log - ERROR -
request.form['malfunctionDescription'] value is: שלו×
2017-05-02 17:35:23,932 - Rotating Log - ERROR -
Traceback (most recent call last):
File "/var/www/WebApp/WebApp/__init__.py", line 166, in new_malfunction
thwart(malfunction_description), thwart(malfunction_solution),
thwart(malfunction_summary),))
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3:
ordinal not in range(128)
也许它是相关的,但我遇到的另一个问题是,当我将希伯来字母直接插入mysql并将其导入我的网站时,我得到这些问号。(但在 mysql 中我可以看到希伯来字母)。
谢谢!
<---------- 使用额外代码进行编辑 ------------>
if len(str(request.form['malfunctionDescription'])) <= 0:
flash("You must enter a description.")
return render_template("new-malfunction.html", contacts=contacts, systems=systems, units=units)
else:
malfunction_description = request.form['malfunctionDescription']
if status == 0 and len(str(request.form['malfunctionSolution'])) <= 0:
flash("You must enter a solution.")
return render_template("new-malfunction.html", contacts=contacts, systems=systems, units=units)
else:
malfunction_solution = request.form['malfunctionSolution']
if status == 0 and len(str(request.form['malfunctionSummary'])) <= 0:
flash("You must enter a summary.")
return render_template("new-malfunction.html", contacts=contacts, systems=systems, units=units)
else:
malfunction_summary = request.form['malfunctionSummary']
x = c.execute("SELECT * FROM malfunctions WHERE malfunctionDescription = (%s)",
(malfunction_description,))
if int(x) > 0:
flash("You have already enter this malfunction")
return render_template("new-malfunction.html", contacts=contacts, systems=systems, units=units)
else:
c.execute(
"INSERT INTO malfunctions (status, openingTime, closingTime, malfunctionOpener, malfunctionHandler, system, unit, rank, malfunctionDescription, malfunctionSolution, malfunctionSummary) VALUES (%s,%s,%s, %s, %s, %s, %s, %s, %s, %s, %s)",
(thwart(status), thwart(opening_date), thwart(closing_date), thwart(malfunction_opener),
thwart(malfunction_handler), thwart(system), thwart(unit), thwart(rank),
thwart(malfunction_description), thwart(malfunction_solution), thwart(malfunction_summary),))
<---------------- 更新 ------------>
我发现了我的第一个问题 - 我试图获取 len(str(request.form['MalfunctionOpener'])) ,它提供了这个胡言乱语 ×©×œ×•× 并给了我一个错误
我还尝试输入我的数据库 repr(request.form['MalfunctionOpener']) ,这给了我这种类型的 u'\u203e\u203e\u203e\u203e\u203e\u203e\u203e\u203e\u203e\u203e\u203e\' (只是一个例子),但我不知道如何从数据库中获取它并将其更改为希伯来语。
最佳答案
שלו×
是 שלו
的“Mojibake”,请参阅 Trouble with utf8 characters; what I see is not what I stored
\u203e
是 Ë
的 Unicode;我怀疑这是转移注意力。
更多 notes在Python上。
关于python - UnicodeEncodeError - 尝试使用 Flask 插入 SQL 希伯来语字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43804465/
我不确定为什么会收到此错误: Exception Type: UnicodeEncodeError Unicode error hint The string that could not be en
我正在使用python-twiter使用 Twitter 的 API 搜索推文,但我遇到中文术语问题。这是重现该问题的最小代码示例: # -*- coding: utf-8 -*- import tw
我正在尝试使用 Twitter API 和 Python 来浏览 Twitter BIOS。 但是我收到此错误: newFile.writerow(info) UnicodeEncodeError:
我正在使用 Requests 和 BeautifulSoup 以及 Python 3.4 从网站上抓取可能包含也可能不包含日语或其他特殊字符的信息。 def startThisPage(url):
我有一个这样的记录器设置: import logging from logging.handlers import RotatingFileHandler import sys # root logg
我有一个 Python 抓取器,它抓取一个网站并将数据插入 MySql 数据库。突然间我得到了一个错误 UnicodeEncodeError: 'latin-1' codec can't encode
此代码应将一些文本写入文件。当我尝试将文本写入控制台时,一切正常。但是当我尝试将文本写入文件时,出现 UnicodeEncodeError。我知道,这是一个常见问题,可以使用适当的解码或编码来解决,但
我正在从事一个涉及自动生成文档(通过 latex )的项目。创建这些文档的人在 Windows 机器上工作(他以前使用 Microsoft word,但现在他在记事本中编辑它们)。无论如何,我注意到有
当我尝试在 UTF-8 字符串中查找单词的计数时,我得到了下一个: UnicodeEncodeError UnicodeEncodeError: 'ascii' codec can't encode
我在尝试将 UTF-8 字符串转换为 unicode 时遇到问题。我收到错误。 UnicodeEncodeError: 'ascii' codec can't encode characters in
我正在尝试用 Python 和 BeautifulSoup 解析这个文档: http://en.wikipedia.org/w/api.php?format=xml&action=opensearch
我正在尝试使用简单的 python print 语句。 print('这是') 但我遇到了这些问题。 我正在使用Windows。原子IDE。 python 3.6.5问候,巴努。 最佳答案 将 # -
无论我尝试什么解码和编码,我似乎都无法让它工作。我目前收到错误: UnicodeEncodeError: 'ascii' 编解码器无法对字符 u'\u2013' 进行编码 但是如果我要添加解码和编码,
这个问题已经有答案了: Python: Unicode and ElementTree.parse (3 个回答) 已关闭 7 年前。 在我的 Django 应用程序中,我使用 suds 库发出了肥皂
我正在尝试从 rockyou 单词列表中读取内容并将所有 >= 8 个字符的单词写入新文件。 这是代码 - def main(): with open("rockyou.txt", encod
我正在使用“pdfminer.six”(一个 Python 库)从我拥有的几个 PDF 中提取所有文本。我的方法工作完美,但对于某些 pdf,可能有一些特殊字符,当我将其写入文本文件时,我收到“Uni
我在生产系统中遇到错误,但我无法在开发环境中重现该错误: with io.open(file_name, 'wt') as fd: fd.write(data) 异常(exception):
当运行从标准输入读取的 Python 程序时,出现以下错误: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position
它在执行以下代码时抛出“UnicodeDecodeError:‘ascii’编解码器无法解码位置 2 中的字节 0xc2:序号不在范围内(128)”: filename = 'Spywaj.ttf'
我有一个 python 脚本,在我的本地机器 (OS X) 上运行良好,但是当我将它复制到服务器 (Debian) 时,它无法按预期运行。该脚本读取 xml 文件并以新格式打印内容。在我的本地机器上,
我是一名优秀的程序员,十分优秀!