我是 Web 开发的初学者,目前正在使用 Flask 开发 Web 应用程序。然而,我在切换到桌面后遇到了 Unicode 编码问题,但在使用我的笔记本电脑时一切正常。
所以我不确定为什么会导致这个错误,我想可能是因为当我使用
return render_template
时我返回了一个带有一些中文的数据?但它在我的实验室电脑上工作...
我是这个初学者,所以我无法真正理解这个错误意味着什么,我唯一能猜测的是 Flask 中的 werkzeug 有问题
错误信息如下:
Traceback (most recent call last):
File "C:\Users\a0935\AppData\Local\Programs\Python\Python311\Lib\site-packages\flask\app.py", line 1488, in __call__
return self.wsgi_app(environ, start_response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\a0935\AppData\Local\Programs\Python\Python311\Lib\site-packages\flask\app.py", line 1466, in wsgi_app
response = self.handle_exception(e)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\a0935\AppData\Local\Programs\Python\Python311\Lib\site-packages\flask\app.py", line 1463, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\a0935\AppData\Local\Programs\Python\Python311\Lib\site-packages\flask\app.py", line 873, in full_dispatch_request
return self.finalize_request(rv)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\a0935\AppData\Local\Programs\Python\Python311\Lib\site-packages\flask\app.py", line 892, in finalize_request
response = self.make_response(rv)
^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\a0935\AppData\Local\Programs\Python\Python311\Lib\site-packages\flask\app.py", line 1176, in make_response
rv = self.response_class(
^^^^^^^^^^^^^^^^^^^^
File "C:\Users\a0935\AppData\Local\Programs\Python\Python311\Lib\site-packages\werkzeug\wrappers\response.py", line 175, in __init__
self.set_data(response)
File "C:\Users\a0935\AppData\Local\Programs\Python\Python311\Lib\site-packages\werkzeug\wrappers\response.py", line 299, in set_data
value = value.encode()
^^^^^^^^^^^^^^
UnicodeEncodeError: 'utf-8' codec can't encode characters in position 3518-3526: surrogates not allowed
127.0.0.1 - - [02/Mar/2024 13:54:56] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 304 -
127.0.0.1 - - [02/Mar/2024 13:54:56] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 304 -
127.0.0.1 - - [02/Mar/2024 13:54:56] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 304 -
127.0.0.1 - - [02/Mar/2024 13:54:56] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 304 -
这是我的代码:
https://github.com/William08290829/OutFit
只需运行main.py
我尝试了网上找到的各种解决方案,但都没有解决问题。作为初学者,我将非常感谢任何克服此 Unicode 编码错误的指导或建议。
Python 3.11.8
烧瓶3.0.2
Werkzeug 3.0.1
感谢您阅读本文
看起来代码和应用程序没有问题。这是运行平台的问题。您能否指定您的台式机和笔记本电脑环境的差异,例如操作系统、类型等?
如果它们是两种不同的操作系统类型,那么肯定会存在编码/解码问题,因为 Linux 和 Windows 都运行在不同的字符编码上。