大学の講義を進めていく中でぶち当たったエラーです。
発生している問題・エラーメッセージ
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
該当のソースコード
python
1# coding: utf-8 2from flask import Flask, render_template 3app = Flask(__name__) 4import sqlite3 5 6@app.route('/') 7def hello_world(): 8 drivers = getDrivers() 9 output='' 10 for row in drivers: 11 for record in row: 12 output += str(record) + ',' 13 output += '<BR>' 14 return render_template('index.html',a='Test',b=output) 15 16def getDrivers(): 17 conn = sqlite3.connect('truck-haisha/truck-haisha.db') 18 cur = conn.cursor() 19 cur.execute('SELECT * FROM driver') 20 ret = cur.fetchall() 21 cur.close() 22 conn.commit() 23 conn.close() 24 return ret 25 26app.run()
このコードの12行目「output += str(record) + ','」がエラーの原因となっている部分です。
試したこと
recordはint型なのでstrに変換しようと思ったのですが、それがどうやらエラーの原因になっているらしくどうすればいいのか分かりませんでした。
補足情報(FW/ツールのバージョンなど)
index.html
html
1<html lang="ja"> 2<head> 3<title>{{a}}</title> 4</head> 5<body> 6{{b|safe}} 7</body> 8</html> 9
実行結果
1,山田,3 2,佐藤,4 ・ ・ ・ 15,森村,1
回答1件
あなたの回答
tips
プレビュー