1
次のコードでは、UnicodeEncodeError: 'ascii'コーデックは位置7の文字 'u2013'をエンコードできません。
phonenumbers = ['(209) 525-2987', '509-477-4598', None, '229-259–1234']
phoneCheck = re.compile('^[1-9]\d{2}-\d{3}-\d{4}$')
for pn in phonenumbers:
print pn
if phoneCheck.match(str(pn)):
print 'Matched!'
else:
print 'Not Matched!'
それが一致しないとマークされたように、私はこれを修正する方法を、私は結果にこのエラーを受け取ったと私はそれは、電話番号で使用されているダッシュの間違った種類に関係していると考えていますか?
(209) 576-6546
Not Matched!
509-477-6726
Not Matched!
None
Not Matched!
229-259–9756
Runtime error
Traceback (most recent call last):
File "<string>", line 6, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 7: ordinal not in range(128)
これはユニコードではよくある問題ですが、今まで何を試しましたか? http://stackoverflow.com/search?q=UnicodeEncodeError%3A+%27ascii%27+codec+can%27t+encode+character+u%27%5Cu2013%27+in+ –
'u '\ u2013''はユニコードのキャラクタではなくアスキーコード – Dadep
私は何も試していませんが、これはコードで手に入れた最初のUnicodeEncodeErrorです@DavidZemens上記のコードで何をすればいいですか? – Purplepeopleeater