Ваш подход кажется правильным и работает для меня. Попробуйте распечатать проанализированные данные, используя следующий код, и проверьте вывод.
soup = BeautifulSoup(html.decode('UTF-8'), features="lxml")
some_japanese = soup.find('div', {'id': 'mw-content-text'}).text.strip()
print(some_japanese)
В моем случае я получаю следующее (это часть вывода) -
ウ ィ リ ア ム ・ バ ト ラ ー ・65 ェ イ ツ 65 18 18 18 18 日 日 19 19 19 19 の 19 19 19 19 19 19 19 19 19 19 19 19
Если это не работает, попробуйте сохранить html-содержимое в файл и проверить страницу в браузере, если японский текст загружается правильно или нет,(Опять же, у меня работает нормально)