質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

UTF-8

UTF-8は8ビット符号単位の文字符号化形式及び文字符号化スキームです。データ交換方式、ファイル形式としては、一般的にUTF-8が使われる傾向があります。

Q&A

解決済

1回答

2561閲覧

Python3 - さくらサーバー上で実行するとUnicodeEncodeErrorになる

starrow1103

総合スコア137

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

UTF-8

UTF-8は8ビット符号単位の文字符号化形式及び文字符号化スキームです。データ交換方式、ファイル形式としては、一般的にUTF-8が使われる傾向があります。

1グッド

1クリップ

投稿2017/06/05 02:11

編集2017/06/05 02:12

python3のエンコーディング問題

環境

さくらレンタルサーバー
Python 3.6.1

困っていること

いままでAnacondaに頼って来たこともあり、しばらくエンコーディング問題に直面したことがなかったので、以下のエラーがでて困っています。

スクリプト(test.py)

python

1#!/home/<user>/local/python/bin/python3 2# coding: utf-8 3from bs4 import BeautifulSoup 4import requests 5 6url = 'http://hogehoge.com' #日本語のページ 7html = requests.get(url) 8soup = BeautifulSoup(html.content,'html5lib') 9print(soup)

シェル

python3 test.py

エラー内容

python

1UnicodeEncodeError: 'ascii' codec can't encode characters in position 315-323: ordinal not in range(128)

なんとかググって解決したいのですが、どうもしっくり来る答えが見つからず、困っています。

よろしくお願いします。

追記

このtest.pyを自分のローカルPCでは問題なく実行できます。

退会済みユーザー👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

export LANG=en_US.UTF-8

BashでLANGにUTF-8を指定してからtest.pyを実行すると上手くいく気がします。

投稿2017/06/05 03:45

YouheiSakurai

総合スコア6142

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

starrow1103

2017/06/05 04:25

bash ではなく、cshだからか、上記コマンドは弾かれてしまいました><
YouheiSakurai

2017/06/05 04:52 編集

setenv LANG en_US.UTF-8 ではいかがですか?
starrow1103

2017/06/05 05:52

.cshrcファイルに記述したところ、無事エラーなくなりました!ありがとうございました!!!! ところで、こういった知識はどこで仕入れて来るのでしょうか? やはり専門的に学びたいと思った時に、必ずこういうところで引っかかってしまうのです・・・
YouheiSakurai

2017/06/05 06:04

私の場合は、pipにマルチバイトの問題に対するプルリクエストを投げて、別アプローチのプルリクエストも合わせてウォッチしつつ、他人がしてるPythonの標準出力に関する議論を元にsysモジュールのドキュメンテーションやソースを読んでたので、この問題に関してカンが働きました。やっぱり問題に悩んでコードやドキュメンテーション、他の人のプルリクエストを読む必要があるので経験でしょうね。Teratailをウォッチして回答案を考えるのもいいエクササイズになると思います。
starrow1103

2017/06/07 00:09

ありがとうございます! まさに巨人の肩の上に立つ、ですね。 時間をかけて勉強していきます。
YouheiSakurai

2017/06/07 00:45

そんな大層な、、、こちらこそありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問