title: UnicodeEncodeError: 'latin-1' codec can't encode character u'\u015f' in position 21: ordinal not in range(256)
body: <p>So, I am running a script that takes posts from reddit and tweets them out. Some of these posts contain latin-1 characters. </p>
  
  <p><code>print post.encode('latin-1') + " " + post_dict[post].encode('latin-1') + " #python"</code></p>
  
  <p>This prints out the character <strong>ê</strong> perfectly fine. However, it will not print out the character <a href="http://www.fileformat.info/info/unicode/char/15f/index.htm" rel="nofollow"><strong>ş</strong></a>, as you can see in the link it is Latin-1. </p>
  
  <p>Script code:</p>
  
  <pre><code>import praw
  import json
  import requests
  import tweepy
  import time
  
  access_token = 'REDACTED'
  access_token_secret = 'REDACTED'
  consumer_key = 'REDACTED'
  consumer_secret = 'REDACTED'
  
  def strip_title(title):
      if len(title) &lt; 94:
          return title
      else:
          return title[:93] + "..."
  
  def tweet_creator(subreddit_info):
      post_dict = {}
      post_ids = []
      print "[bot] Getting posts from Reddit"
      for submission in subreddit_info.get_hot(limit=20):
          post_dict[strip_title(submission.title)] = submission.url
          post_ids.append(submission.id)
      print "[bot] Generating short link using goo.gl"
      mini_post_dict = {}
      for post in post_dict:
          post_title = post
          post_link = post_dict[post]         
          short_link = shorten(post_link)
          mini_post_dict[post_title] = short_link 
      return mini_post_dict, post_ids
  
  def setup_connection_reddit(subreddit):
      print "[bot] setting up connection with Reddit"
      r = praw.Reddit('yasoob_python reddit twitter bot '
                  'monitoring %s' %(subreddit)) 
      subreddit = r.get_subreddit(subreddit)
      return subreddit
  
  def shorten(url):
      headers = {'content-type': 'application/json'}
      payload = {"longUrl": url}
      url = "https://www.googleapis.com/urlshortener/v1/url"
      r = requests.post(url, data=json.dumps(payload), headers=headers)
      link = json.loads(r.text)['id']
      return link
  
  def duplicate_check(id):
      found = 0
      with open('posted_posts.txt', 'r') as file:
          for line in file:
              if id in line:
                  found = 1
      return found
  
  def add_id_to_file(id):
      with open('posted_posts.txt', 'a') as file:
          file.write(str(id) + "\n")
  
  def main():
      subreddit = setup_connection_reddit(‘python’)
      post_dict, post_ids = tweet_creator(subreddit)
      tweeter(post_dict, post_ids)
  
  def tweeter(post_dict, post_ids):
      auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
      auth.set_access_token(access_token, access_token_secret)
      api = tweepy.API(auth)
      for post, post_id in zip(post_dict, post_ids):
          found = duplicate_check(post_id)
          if found == 0:
              print "[bot] Posting this link on twitter"
             print post.encode('latin-1') + " " + post_dict[post].encode('latin-1') + " #python"
              api.update_status(post+" "+post_dict[post]+" #python")
              add_id_to_file(post_id)
              time.sleep(30)
          else:
              print "[bot] Already posted" 
  
  if __name__ == '__main__':
      main()
  </code></pre>
  
  <p>Traceback: </p>
  
  <pre><code>Traceback (most recent call last):
  File "twitter.py", line 83, in &lt;module&gt;
  main()
  File "twitter.py", line 64, in main
  tweeter(post_dict, post_ids)
  File "twitter.py", line 74, in tweeter
  print post.encode('latin-1') + " " + post_dict[post].encode('latin-1') + " #python"  
  UnicodeEncodeError: 'latin-1' codec can't encode character u'\u015f' in position 21:    
  ordinal not in range(256)
  </code></pre>
  
  <p><strong>Note: I am a python beginner, and I am trying to learn it.</strong></p>