[解決済み] Pythonのunicode()とencode()関数の使用法
質問
のエンコーディングに問題があります。 パス 変数に挿入し、それを SQLite データベースを使用しています。で解決しようとしました。 エンコード("utf-8") 関数がありますが、これは役に立ちませんでした。そこで unicode() という関数があり、これは ユニコード .
print type(path) # <type 'unicode'>
path = path.replace("one", "two") # <type 'str'>
path = path.encode("utf-8") # <type 'str'> strange
path = unicode(path) # <type 'unicode'>
ようやく ユニコード の型が、まだ同じエラーが出ています。 パス 変数が str
sqlite3.ProgrammingError: 8ビットのバイト列は、以下の場合を除き、使用してはいけません。 のように)8ビットのバイト列を解釈できるtext_factoryを使用します。 text_factory = str)。その代わりに、以下のようにすることを強くお勧めします。 アプリケーションをユニコード文字列に切り替えてください。
このエラーを解決し、また
encode("utf-8")
と
unicode()
関数を使用することができますか?とよく喧嘩しています。
EDIT
これは execute() ステートメントがエラーを発生させました。
cur.execute("update docs set path = :fullFilePath where path = :path", locals())
のエンコードを変更するのを忘れていました。 fullFilePath という変数がありますが、これも同じ問題で、今、かなり混乱しています。を使うべきでしょうか? unicode() または エンコード("utf-8") それとも両方?
を使うことはできません。
fullFilePath = unicode(fullFilePath.encode("utf-8"))
というエラーが発生するからです。
UnicodeDecodeError: 'ascii' コーデックは、バイト 0xc5 in position をデコードできません。 32: 序数が範囲(128)内ではない
Python バージョンは 2.7.2
解決方法は?
を使用しています。
encode("utf-8")
が正しくありません。 Pythonのバイト列(
str
型) にはエンコーディングがありますが、Unicode にはありません。 Unicode の文字列を Python のバイト文字列に変換するには
uni.encode(encoding)
また、バイト文字列をユニコード文字列に変換するには
s.decode(encoding)
(または同等に
unicode(s, encoding)
).
もし
fullFilePath
と
path
は現在
str
の型がある場合、それらがどのようにエンコードされているかを把握する必要があります。 例えば、現在のエンコーディングがutf-8であれば、次のようになります。
path = path.decode('utf-8')
fullFilePath = fullFilePath.decode('utf-8')
これでも直らない場合は、実際の問題は、Unicode文字列を
execute()
の呼び出しは、以下のように変更してみてください。
cur.execute(u"update docs set path = :fullFilePath where path = :path", locals())
関連
-
[解決済み】ImportError: sklearn.cross_validation という名前のモジュールがない。
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] staticmethodとclassmethodの違いについて
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで文字列の部分文字列を取得するにはどうすればよいですか?
-
[解決済み] Pythonで文字列を小文字にするには?
-
[解決済み] PHPのstartWith()関数とendsWith()関数
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PythonはWordの読み書きの変更操作を実装している
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
Python LeNetネットワークの説明とpytorchでの実装
-
Pythonの@decoratorsについてまとめてみました。
-
[解決済み】pygame.error: ビデオシステムが初期化されていない
-
[解決済み】"No JSON object could be decoded "よりも良いエラーメッセージを表示する。
-
[解決済み】Python: OverflowError: 数学の範囲エラー
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない
-
[解決済み] エンコード/デコードの違いは何ですか?