Views exposed filter and non latin characters
Transliteration module has some useful functions to convert unicode strings into latin strings. You may give it a try and use some of those functions in your alter hooks. I cannot give you a specific function name but I'm sure that I've used this module for a similar purpose.

Anyway, if you work with non-latin languages, you'll probably need to install this module for other purposes, like fixing the filenames and url parts generated by user input etc.

A quick look-up into the source code of Transliteration module, I can say that you can use transliteration_get() function to transliterate a give string. A sample implementation for your case would be:

function YOUR_MODULE_views_query_alter(&amp;$view, &amp;$query) {
  // To debug comment out the following line (Devel module is required).
  //dpm($query);

  if ($view-&gt;name = 'YOUR_VIEW' &amp;&amp; !empty($view-&gt;exposed_raw_input['YOUR_FIELD']) {
    $transliterated = transliteration_get($view-&gt;exposed_raw_input['YOUR_FIELD']);
    // Traverse through the 'where' part of the query.
    foreach ($query-&gt;where as &amp;$condition_group) {
      foreach ($condition_group['conditions'] as &amp;$condition) {
        // If this is the part of the query filtering on your field, change the
        // condition value to the transliterated string.
        if ($condition['field'] == 'YOUR FIELD') {
          $condition['value'] = $transliterated;
        }
      }
    }
  }
}