第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Django dumpdata 在特殊字符上失敗

Django dumpdata 在特殊字符上失敗

慕碼人2483693 2023-12-12 21:05:27
我正在嘗試將整個數(shù)據(jù)庫轉(zhuǎn)儲為 json。當我運行時python manage.py dumpdata > data.json出現(xiàn)錯誤:(env) PS C:\dev\watch_something> python manage.py dumpdata > data.jsonCommandError: Unable to serialize database: 'charmap' codec can't encode character '\u0130' in position 1: character maps to <undefined>Exception ignored in: <generator object cursor_iter at 0x0460C140>Traceback (most recent call last):  File "C:\dev\watch_something\env\lib\site-packages\django\db\models\sql\compiler.py", line 1602, in cursor_iter    cursor.close()sqlite3.ProgrammingError: Cannot operate on a closed database.這是因為我的數(shù)據(jù)庫中的字符之一是特殊字符。如何正確轉(zhuǎn)儲數(shù)據(jù)庫?僅供參考,所有其他數(shù)據(jù)庫功能都工作正常
查看完整描述

5 回答

?
動漫人物

TA貢獻1815條經(jīng)驗 獲得超10個贊

一種解決方案是使用./manage.py dumpdata -o data.json而不是./manage.py dumpdata > data.json.

另一個解決方案是使用Python的UTF-8模式,運行:

python?-Xutf8?./manage.py?dumpdata?>?data.json


查看完整回答
反對 回復 2023-12-12
?
千巷貓影

TA貢獻1829條經(jīng)驗 獲得超7個贊

為了json在 django 中保存數(shù)據(jù),使用了TextIOWrapper :

默認編碼現(xiàn)在是locale.getpreferredencoding(False)(...)

在功能文檔中locale.getpreferredencoding我們可以讀到:

根據(jù)用戶偏好返回用于文本數(shù)據(jù)的編碼。用戶首選項在不同系統(tǒng)上的表達方式不同,并且在某些系統(tǒng)上可能無法以編程方式使用,因此此函數(shù)僅返回猜測值。

“hacky”但覆蓋這些設置的工作方法:

settings.py在django 項目的文件中添加以下行:

import?_locale
_locale._getdefaultlocale?=?(lambda?*args:?['en_US',?'utf8'])


查看完整回答
反對 回復 2023-12-12
?
汪汪一只貓

TA貢獻1898條經(jīng)驗 獲得超8個贊

這是來自 djangoproject.com 的解決方案
您轉(zhuǎn)到“設置”,在“語言”-“管理語言設置”-“更改系統(tǒng)區(qū)域設置”-“區(qū)域設置”中,有一個“使用 Unicode UTF-8 進行全球語言支持”框。如果我們應用它并重新啟動,那么我們就會從 Python 獲得一個合理的、現(xiàn)代的默認編碼。

設置框看起來像這樣。啟用檢查并重新啟動系統(tǒng)

https://img1.sycdn.imooc.com/65785ac90001d31104310223.jpg

查看完整回答
反對 回復 2023-12-12
?
湖上湖

TA貢獻2003條經(jīng)驗 獲得超2個贊

在Windows上我解決我的問題的方法是添加到你的設置

import _locale
_locale._getdefaultlocale = (lambda *args: ['en_US', 'utf8'])

僅在 Windows 上的 shell 上運行

python -Xutf8 manage.py dumpdata --exclude auth.permission --exclude contenttypes > db.json

我實際上這樣做了它有效

python -Xutf8 manage.py dumpdata -o data.json

但沒有顯示我安裝的應用程序的數(shù)據(jù)


查看完整回答
反對 回復 2023-12-12
?
智慧大石

TA貢獻1946條經(jīng)驗 獲得超3個贊

如果您有多個 Python 環(huán)境,那么在應用解決方法之前,值得檢查您的問題是否python manage.py針對正確的環(huán)境。在我的例子中,我遇到了同樣的錯誤:數(shù)據(jù)庫是在 Linux 上的容器化環(huán)境下創(chuàng)建的,具有較高的 Python 版本,但 Django 和其他包也存在于 Windows 上的舊本地環(huán)境中。此外,項目目錄作為卷附加到容器,并且內(nèi)容在本地和容器中是相同的。所以,我只是混合并manage.py在本地運行,而不是附加到容器上。



查看完整回答
反對 回復 2023-12-12
  • 5 回答
  • 0 關注
  • 352 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號