title: Why doesn't 'encode("utf-8", 'ignore').decode("utf-8")' strip non-UTF8 chars in Python 3?
body: <p>I'm using Python 3.7 and Django 2.0.  I want to strip out non-UTF-8 characters from a string, that I'm obtaining by reading this CSV file.  I tried this ...</p>
  
  <pre><code>web_site = row['website'].strip().encode("utf-8", 'ignore').decode("utf-8")
  </code></pre>
  
  <p>but this doesn't seem to be doing the job, since I have a resulting string that looks like ...</p>
  
  <pre><code>web_site: "wbez.org&lt;200e&gt;"
  </code></pre>
  
  <p>Whatever this "&lt;200e>" thing is, is evidently non-UTF-8 string, because when I try and insert this into a MySQL database (deployed as a docker image), I get the following error ...</p>
  
  <pre><code>web_1     | django.db.utils.OperationalError: Problem installing fixture '/app/maps/fixtures/seed_data.yaml': Could not load maps.Coop(pk=191): (1366, "Incorrect string value: '\\xE2\\x80\\x8E' for column 'web_site' at row 1")
  </code></pre>