SyntaxError: Non-UTF-8 code starting with ‘\\xe3’
このエラーが発生したときの原因と解決方法です。
発生経緯
エラーが発生したのはpyttsx3を使って読み上げ機能を実装していた時のこと。
文字列を読み上げてくれる機能がpyttsx3ライブラリにはあるのでそれで寿限無を読ませてみようとしていました。
原因
コードに寿限無の長文を直接書いていました。
寿限無の一節を音声読み上げ処理に読んでほしく、以下の文章を直書きして動作確認していました。
text = “和尚の書いてくれた紙を熊さんは読み上げる。「ええー、寿限無寿限無、五劫のすり切れ、海砂利水魚の水行末、雲来末、風来末、食う寝るところに住むところ、やぶらこうじのぶらこうじ、パイポパイポ、パイポのシューリンガン、シューリンガンのグーリンダイ、グーリンダイのポンポコピーのポンポコナの長久命の長助、うーん、こう並べてみるとみんなつけてえ名前ばかりですねえ」”
このエラーが発生した原因は、
文字コードが指定できていなかったから。
(または文字列が長すぎたから)
解決方法
解決方法は簡単。
Pythonファイルの1行目に次のいずれかを記述
# coding: UTF-8
# coding=UTF-8
# -*- coding: UTF-8 -*-
または「text = 」を「text=」に変換しただけで解決。
あっさりと解決ですね。
最後まで読んでいただき、ありがとうございます!