title: string encoding after importing from csv in pandas
body: <p>I'm loading data into pandas dataframes from a csv file. It's in the form of a name in the first column followed by data linked to that name in the remaining columns, and different names going down in rows. The data loads perfectly, and when the dataframe is shown everything appears perfect, including special characters.</p>
  
  <p>I want to be able to locate the data linked to the names by selecting a name. I've tried both </p>
  
  <pre><code>df[df['NAME'].isin(['John Smith'])]
  </code></pre>
  
  <p>and setting the name as the index so I can go </p>
  
  <pre><code>df.loc['John Smith']
  </code></pre>
  
  <p>both of which normally work fine (although if there are better methods let me know). </p>
  
  <p>However the problem is neither approach works for this data set, presumably because of some sort of encoding issue. If I want this to work then the name that is to be located has to be in the form </p>
  
  <pre><code>df.loc[' John\xc2\xa0Smith']
  </code></pre>
  
  <p>So even though the name appears as normal when you look at the dataframe, the names are actually stored with an extra space at the start, and between the first and last names there's a \xc2\xa0 string. I have very little experience with encodings and dealing with this sort of stuff, so my question is if theres anyway to deal with this so you can either convert the names in the dataframe to a simple string format so 'John Smith' actually represents the name when you select it from the dataframe?</p>
  
  <p>edit: its not just <code>\xc2\xa0</code> which is an issue, but theres a wide variety of special letters which are represented as for example <code>\xc3\xb1</code> </p>