Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

mecab-python3でUnicodeDecodeErrorがでる

More than 3 years have passed since last update.

Unicodeの問題から逃げたくて、Python3にしたのに、mecab-python3の調子がおかしいのかUnicodeDecodeErrorがでる

しかも、テストを走らせるとランダムに出る

事例

import MeCab
mecab = MeCab.Tagger()
node = mecab.parseToNode("すもももももももものうち")
while node:
    print(node.surface)
    node = node.next

とすると、

UnicodeDecodeError                        Traceback (most recent call last)
<ipython-input-11-1f88b1ec9c08> in <module>()
      1 while node:
----> 2     print(node.surface)
      3     node = node.next

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb5 in position 0: invalid start byte

というエラーが・・・

治し方

治し方もなかなかなぞで、先にmecab.parse("")をやっておくという

import MeCab
mecab = MeCab.Tagger()
mecab.parse("")  # 追加
node = mecab.parseToNode("すもももももももものうち")
while node:
    print(node.surface)
    node = node.next

すると

すもも
も
もも
も
もも
の
うち

できた。よくわからないけど、動くようになった。

kasajei
京都大学卒。認知情報学を専攻し、脳科学と数学が専門。在学中に起業。エンジニア集団CAMPHOR-の立ち上げ。大企業にて新規事業開発を行う。 趣味は能力・健康に関する情報収集と実践。
http://blog.kasajei.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away