0
- 私はキーワードのライブラリを持っています。キーワードはテスト文書にメッセージを書きます。
utf-8
このPythonのファイル、および非ASCII記号とロボットのファイルにこのキーワードの実行ができます# -*- coding: utf-8 -*-
*.robot
ファイルがutf-8
である向かう必要があった:ロボットフレームワーク:古い書式設定%sと新しい書式設定との間のコード化の違い
- た場合をキーワードは
"%s" % msg
です。エラーはありません。通常、ログファイルにはロシア語のメッセージが表示されます。 - キーワードは
"{}".format(msg)
または"{!s}".format(msg)
を持っている場合:私はあなたが見ることができるように、私は新しい方法に書式だけ古いのpythonを変更UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-10: ordinal not in range(128)
エラーが発生します。しかし、この問題を解決するには、古い形式の書式を使用せずに、新しい方法でエラーを表示する以外の方法がありますか?
ない作品。 1.すべてのロシアのテキストが削除され、その理由が2であるため、私は何も置き換えることができません。問題は何とか文字列 '" {} "に' 'ascii''エンコーディングがあることです。なぜユニコードロシア文字列である 'msg'が' ascii'に変換できないのですか?私はRTFMを持っていて、私はpyファイルのヘッダーが動作するはずです(このヘッダーを '# - * - coding:utf-8 - * - ')として設定しましたが、このファイルの文字列はまだ '' ascii ''です。定数文字列を明示的にunicodeとして定義して 'u 'を文字列' 'と書くと、この問題を解決できます。その後はエラーが出ません。しかし、なぜヘッダーが機能していないのですか? –