Python, sauf pour UnicodeError?

Dans mon code, je reçois cette erreur...

UnicodeEncodeError: 'charmap' codec can't encode character '\u2013' in position 390: character maps to <undefined>

J'ai essayé de mettre une exception pour UnicodeError et UnicodeEncodeError mais rien ne fonctionne, le problème c'est que c'est les utilisateurs d'entrée de sorte que je ne contrôle pas ce qu'ils mettent donc j'ai besoin de tout coder les erreurs à afficher une impression qui dit erreur, au lieu de planter le programme...

try:
    argslistcheck = argslist[0]
    if argslistcheck[0:7] != "http://":
        argslist[0] = "http://" + argslist[0]
    with urllib.request.urlopen(argslist[0]) as url:
        source = url.read()
        source = str(source, "utf8")
    except urllib.error.URLError:
        print("Couln't connect")
        source = ""
    except UnicodeEncodeError:
        print("There was an error encrypting...")
        source = ""

Traceback:

Traceback (most recent call last):
  ..... things leading up to error
  File "C:\path", line 99, in grab print(source)
  File "C:\Python33\lib\encodings\cp437.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u2013' in position 390: character maps to <undefined>
Il est plus probable que c'est le sortie de votre programme qui est à l'origine de l'erreur; les données Unicode est automatiquement codé pour correspondre à votre terminal d'encodage de sortie. Êtes-vous l'impression tout ou en écriture à un fichier? Veuillez inclure le code et le plein de sperme.
Oui, il imprime la source ou de l'enregistrer dans un fichier txt... Il ne le sur certains sites, comme si je le fais sur mon site, alors il l'habitude, mais si je le fais avec test.com alors qu'il le ferait. Je ne veux juste pas le programme s'écraser.
Regardez de près le traceback (de préférence le partager avec nous). Il vous dit opération est un échec.

OriginalL'auteur TrevorPeyton | 2013-02-24