title: Encoding tweets to UTF-8 creates weird characters in Python
body: <p>I am downloading all of a user's tweets, using the twitter API.</p>
  
  <p>When I download the tweets, I encode them in utf-8, before placing them in a CSV file.</p>
  
  <pre><code>tweet.text.encode("utf-8")
  </code></pre>
  
  <p>I'm using python 3</p>
  
  <p>The issue is that this creates really weird characters in my files.
  For example, the tweet which reads</p>
  
  <pre><code>"But I’ve been talkin' to God for so long that if you look at my life, I guess he talkin' back." 
  </code></pre>
  
  <p>Gets turned into</p>
  
  <pre><code>"b""But I\xe2\x80\x99ve been talkin' to God for so long that if you look at my life, I guess he talkin' back. """
  </code></pre>
  
  <p>(I see this when I open the CSV file that I wrote this encoded text to).</p>
  
  <p>So my question is, how can I stop these weird characters from being created.</p>
  
  <p>Also, if someone can explain what the <code>b'</code> which starts every line, means, that would be super helpful.</p>
  
  <p>Here is the full code:</p>
  
  <pre><code>    outtweets = [ [tweet.text.encode('utf-8')] for tweet in alltweets]
  
  #write the csv  
  with open('%s_tweets.csv' % screen_name, 'wt') as f:
      writer = csv.writer(f)
      writer.writerow(["text"])
      writer.writerows(outtweets)
  </code></pre>