使用 Flask-SQLAlchemy 在结果上打印特殊字符时出错

问题描述 投票:0回答:1
def shows():
    with Operator.app.app_context():
        u = Operator.db.session.query(Operator.Subject).all()
        for index, row in enumerate(u):
            print(row.complete)

==================================结果不完整

打印值,直到遇到代码中所示的特殊字符

.
.
.
HERRERA HERNANDEZ SONIA EUSEBIA
MEDINA FLORES TANIA MARISABETH
MEZARINO TARAZONA JORK LEE MICHAEL
VALLES MENDIETA WASHINTON
REYNALTE BRIOSO MARY LUZ
Exception in Tkinter callback
Traceback (most recent call last):
  File "c:\users\intel\appdata\local\programs\python\python310\lib\tkinter\__init__.py", line 1921, in __call__
    return self.func(*args)
  File "<string>", line 11, in login
  File "C:\Program Files (x86)\ActiveState Komodo IDE 12\lib\support\dbgp\bin\py3_dbgp.py", line 129, in write
    self._origStream.write(s)
  File "c:\users\intel\appdata\local\programs\python\python310\lib\encodings\cp1252.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\x91' in position 10: character maps to <undefined>

==========================================但是

当我像这样修改代码时

def shows():
    with Operator.app.app_context():
        u = Operator.db.session.query(Operator.Subject).all()
        for index, row in enumerate(u):
            print(row.complete.encode("utf-8"))

==================================完整结果

这样,会产生奇怪的字符

.
.
.
b'HERRERA HERNANDEZ SONIA EUSEBIA'
b'MEDINA FLORES TANIA MARISABETH'
b'MEZARINO TARAZONA JORK LEE MICHAEL'
b'VALLES MENDIETA WASHINTON'
b'REYNALTE BRIOSO MARY LUZ'
b'RIVERA PE\xc3\x83\xc2\x91A HERNAN ANTONIO'
b'RIVERA PE\xc3\x83\xc2\x91A JOSE LUIS'
b'JACINTO PINGO OLGA'
b'AGUIRRE PE\xc3\x83\xc2\x83\xc3\x82\xc2\x91A GEINER'
b'CARBAJAL PE\xc3\x83\xc2\x91A EDISON'
b'CARRERA PE\xc3\x83\xc2\x91A ERIKA'
b'PI\xc3\x91AN PEZO ALBA PATRICIA'
b'PI\xc3\x91AN PORRAS JOAQUIN'
python character-encoding
1个回答
0
投票

死了@snakecharmerb,这就是回应

© www.soinside.com 2019 - 2024. All rights reserved.