title: How to fix "Incorrect string value" errors?
body: <p>After noticing an application tended to discard random emails due to incorrect string value errors, I went though and switched many text columns to use the <code>utf8</code> column charset and the default column collate (<code>utf8_general_ci</code>) so that it would accept them.  This fixed most of the errors, and made the application stop getting sql errors when it hit non-latin emails, too.</p>
  
  <p>Despite this, some of the emails are still causing the program to hit incorrect string value errrors: <code>(Incorrect string value: '\xE4\xC5\xCC\xC9\xD3\xD8...' for column 'contents' at row 1)</code></p>
  
  <p>The contents column is a <code>MEDIUMTEXT</code> datatybe which uses the <code>utf8</code> column charset and the <code>utf8_general_ci</code> column collate.  There are no flags that I can toggle in this column.</p>
  
  <p>Keeping in mind that I don't want to touch or even look at the application source code unless absolutely necessary:</p>
  
  <ul>
  <li>What is causing that error? (yes, I know the emails are full of random garbage, but I thought utf8 would be pretty permissive)</li>
  <li>How can I fix it?</li>
  <li>What are the likely effects of such a fix?</li>
  </ul>
  
  <p>One thing I considered was switching to a utf8 varchar([some large number]) with the binary flag turned on, but I'm rather unfamiliar with MySQL, and have no idea if such a fix makes sense.</p>