ある環境から文字列を取得し、別の環境で文字列を再現するコードがあります。私はPython 3.5を使用しています。私はこの種のエラーに遭遇し続けます:strをラテン1からutf-8まで任意に符号化します
UnicodeEncodeError: 'latin-1' codec can't encode character '\u2013' in position 112: Body ('–') is not valid Latin-1. Use body.encode('utf-8') if you want to send it encoded in UTF-8.
...私はそれを避けたいと思います。このエラーは要求モジュールから発生しています。問題は、文字通り何万もの文字列を処理しており、新しい文字列が常に追加されていることです。人々はExcelなどで切り取って貼り付けていますが、どの文字が浮かび上がるのかわからないので、str.replace()
を実行するだけではありません。環境2に送信する前に環境1から取得したすべての文字列が正しくutf-8でエンコードされていることを確認したいと思います。
私はstr('yadayada').encode('utf-8).decode('utf-8)
を試しましたが、うまくいかなかった。私はstr('yadaya', 'utf-8')
を試したが、うまくいかなかった。私は"# -*- coding: UTF-8 -*-"
と宣言しようとしたが動作しませんでした。
あなたがそれらを受け取ったとき? – themistoklik
私はポストで言ったことを試しました:私は 'yadayada'.encode(' utf-8).decode( 'utf-8)を試しましたが、うまくいきませんでした。私はstr( 'yadaya'、 'utf-8')を試しましたが、うまくいきませんでした。私は "# - * - coding:UTF-8 - * - "を宣言しようとしましたが、うまくいきませんでした。私はサーバーへの呼び出しから文字列を取得するので、私はちょうどオブジェクトを取得しています。そのオブジェクトには名前属性があり、それがオブジェクトから取得しているものです。しかし、私はその名前属性の価値が何であるか、そしてオブジェクトを作っている人々が電子メール、Excelなどからこれらの名前を切り取って貼り付ける非技術的な人々に過ぎないかどうかは制御できません。 –