failed: UnicodeDecodeError: ‘utf-8’ codec can’t decode byte *** in position

robotframework
本ページはプロモーションが含まれています

はじめに

robotframeworkでファイルを実行しようとした時にエラーメッセージが表示されました。

failed: UnicodeDecodeError: ‘utf-8’ codec can’t decode byte *** in position

このエラーはWindowsを利用している人にはよく目にするエラーではないでしょうか。
僕もよく対応を忘れがちなので内容なのでメモすることに。

エラーメッセージ

エラーメッセージの詳細です。
今回はrobotframeworkで表示されたエラーですが似たエラーはpythonなんかでも表示されます。

PS C:\Users\***\Desktop\RPA_Windows> robot .\rpa_windows_test.robot
[ ERROR ] Parsing 'C:\Users\***\Desktop\robotframework\rpa_windows_test.robot'
failed: UnicodeDecodeError: 'utf-8' codec can't decode byte 0x93 in position

表示されるファイルパスや0x93は状況によって内容が異なりますのでご自身の環境に読み替えてください。

エラー内容を噛み砕いて書くと、

utf-8ではデコードできない箇所がありますよ

と言っています。
よくあるエンコーディングの不一致です。

原因と対処

原因は作成した.robotファイルのエンコーディングが「SJIS」になっていたからです。
この時はsakuraエディタでファイルを作成していましたが、文字コードを指定しない場合デフォルトでは「SJIS」になります(Windowsのメモ帳なども)

robotframeworkやPythonは「utf-8」となっています。
今回は.robotファイルを「utf-8」で保存し直すことでエラーを回避できました。

さいごに

今回はrobotframeworkでのエンコーディングによるエラーでした。
Windowsを使っているとこのメッセージを見ると思います。
このエラーに出会した時はまず保存したファイルの文字コードを確認するのがいいと思います。

この記事がお役に立てば嬉しいです。
最後までお読みいただきありがとうございました。

タイトルとURLをコピーしました