あるシステムを実行すると、下記エラーが表示されました。
---------------
Traceback (most recent call last):
File "C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\web\api.py", line 446, in send_error
data, 'text/html')
File "C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\web\chrome.py", line 830, in render_template
message = req.session.pop('chrome.%s.%d' % (type_, i))
File "C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\web\api.py", line 216, in __getattr__
value = self.callbacks[name](self)
File "C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\web\main.py", line 306, in _get_session
return Session(self.env, req)
File "C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\web\session.py", line 223, in __init__
self.promote_session(sid)
File "C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\web\session.py", line 282, in promote_session
@self.env.with_transaction()
File "C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\db\api.py", line 77, in transaction_wrapper
fn(ldb)
File "C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\web\session.py", line 287, in update_session_id
""", (sid, self.req.authname))
File "C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\db\util.py", line 65, in execute
return self.cursor.execute(sql_escape_percent(sql), args)
File "C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\db\sqlite_backend.py", line 78, in execute
result = PyFormatCursor.execute(self, *args)
File "C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\db\sqlite_backend.py", line 56, in execute
args or [])
File "C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\db\sqlite_backend.py", line 48, in _rollback_on_error
return function(self, *args, **kwargs)
ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.
-----------------
調査してみたら、Pythonで、 text_factory = str を設定したら良いとわかりましたが、設定方法が
わかりません。
対話モードで設定したら良いのでしょうか?
Pythonに関しては全然わからないのでどのように設定したら良いかがわかりません。
教えてください。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
もう一度、マニュアルをよく読んでください。
> この属性を使って TEXT データ型をどのオブジェクトで返すかを制御できます
とあります。つまり、「この属性」= text_factory です。
> デフォルトではこの属性は unicode に設定されており
> str に設定してください
と続いて
>この属性を sqlite3.OptimizedUnicode に設定してください
なのですから、よほどの駄文でなければ、 「この属性」= text_factory だとわかります。
「これを有効にしたければ」の「これ」とは、その前の「非ASCIIデータに限って Unicode オブジェクトを返し、 その他の場合にはバイト列を返す」ことです。
これは原文の
> To activate it,
の方がわかりやすいかもしれません。
さらに、サンプルコードを見ると
con.text_factory = sqlite3.OptimizedUnicode
というコードがあるのがわかります。
No.1
- 回答日時:
実際にsqlit3を使ったわけではありませんが。
http://docs.python.org/2/library/sqlite3.html#sq …
にサンプルコード付きで載っています。
ただ、
「It is highly recommended that you instead just switch your application to Unicode strings.」
と、Unicode文字列を使うことを強く勧められています。
扱っているものがバイナリーデータでなければ、Unicode文字列を使うようにしてはどうでしょうか?
「Unicode文字列 Python」で検索すると、よいでしょう。
http://docs.python.jp/2.7/howto/unicode.html
この回答への補足
アドバイスありがとうございます。
参考として教えて頂いたサイトですが、もう少し教えてください。
頂いた情報をもとにしてさらに調査してみましたら日本語に翻訳されたサイトを見つけました。
http://docs.python.jp/2.5/lib/sqlite3-Connection …
これを有効にしたければ、 この属性を sqlite3.OptimizedUnicode に設定してください。
と書かれていますが、属性を sqlite3.OptimizedUnicode に設定とはどのようにしたらよいでしょうか?
Pythonに関しては初心者なのでもう少しヒントを頂けたら大変助かります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby 教えてください 2 2023/01/04 17:50
- その他(プログラミング・Web制作) python 2 2022/12/23 09:06
- その他(プログラミング・Web制作) python flask から fastapiへの移行時のエラー対処 1 2023/02/05 12:26
- その他(プログラミング・Web制作) pythonをjupiter notebookからmecabで頻出の高い単語の抽出について(Runt 1 2022/12/17 18:08
- その他(プログラミング・Web制作) Pythonで会員サイトの自動ログイン ID Nameがない 1 2022/12/16 02:09
- Ruby パイソンエラーについて 1 2022/12/24 14:07
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
- サーバー WindowsでApache が起動しない 1 2022/11/29 12:21
- その他(プログラミング・Web制作) pythonのこのエラーがわかりません 3 2022/11/16 14:54
- オープンソース stable diffusionのインストールがうまくいきません。 1 2023/06/20 13:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
python
-
Perl+DBD::Oracleのエラーがわ...
-
perl DBD::Pg インストールでエ...
-
Python エクセル読み込み xlrd...
-
例外処理のフローチャートの記...
-
VBA This Workbookモジュール...
-
モジュールとサブルーチン
-
Excelマクロでセルに値が入力さ...
-
時間がかかり過ぎたプロセスを...
-
Pythonでタートルが使えません
-
VBでグローバル変数を宣言するには
-
VBAからpythonへの転向について
-
うるう年かどうかを計算するプ...
-
perlスクリプトのブラウザURLか...
-
VBA モジュールで共通に使う変...
-
エクセルVBAでシートモジュール...
-
Apache2 静的・動的モジュール...
-
Excel VBA 定義されたプロージ...
-
VBSがコンパイルエラーになりま...
-
Excel VBAで、ユーザーフォーム...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
use lib qw(変数名);は無理?
-
Python エクセル読み込み xlrd...
-
XML::Parser::Expat が無い?
-
Pg.pmモジュールがロードできない
-
perl DBD::Pg インストールでエ...
-
python
-
YAMLについて
-
Net::SSH::Perlについて
-
python 環境構築について
-
Pythonの設定方法(text_factory)
-
DB_Fileモジュールインストール...
-
perl MeCab 和布蕪 エラー
-
メールフォームからメール送信...
-
perlからpostgres連携時にエラ...
-
perlのモジュールについて
-
DBIをCPANからインストール時に...
-
Compress:Zlibコンパイルエラー
-
Perl+DBD::Oracleのエラーがわ...
-
SOAP::Liteを利用したい!
-
@INCにrequireされたファイルが...
おすすめ情報