diff --git a/core/modules/search/search.module b/core/modules/search/search.module
old mode 100644
new mode 100755
index e731e4f..4d6f1be
--- a/core/modules/search/search.module
+++ b/core/modules/search/search.module
@@ -1165,7 +1165,7 @@ function search_excerpt($keys, $text) {
           if (($s = strrpos($end, ' ')) !== FALSE) {
             // Account for the added spaces.
             $q = max($q - 1, 0);
-            $s = min($s, drupal_strlen($end) - 1);
+            $s = min($s, strlen($end) - 1);
             $ranges[$q] = $p + $s;
             $length += $p + $s - $q;
             $included[$key] = $p + 1;
diff --git a/core/modules/search/search.test b/core/modules/search/search.test
old mode 100644
new mode 100755
index f121abd..4239541
--- a/core/modules/search/search.test
+++ b/core/modules/search/search.test
@@ -1585,6 +1585,12 @@ class SearchExcerptTestCase extends DrupalUnitTestCase {
     $result = preg_replace('| +|', ' ', search_excerpt('nothing', $entities));
     $this->assertFalse(strpos($result, '&'), 'Entities are not present in excerpt');
     $this->assertTrue(strpos($result, 'í') > 0, 'Entities are converted in excerpt');
+
+    // @see http://drupal.org/node/987472
+    // The node body that will produce this rendered $text is: 123456789 HTMLTest +123456789+&lsquo;  +&lsquo;  +&lsquo;  +&lsquo;  +12345678  &nbsp;&nbsp;  +&lsquo;  +&lsquo;  +&lsquo;   &lsquo;    
+    $text = "<div class=\"field field-name-body field-type-text-with-summary field-label-hidden\"><div class=\"field-items\"><div class=\"field-item even\" property=\"content:encoded\"><p>123456789 HTMLTest +123456789+‘  +‘  +‘  +‘  +12345678      +‘  +‘  +‘   ‘</p>\n</div></div></div> ";    
+    $result = search_excerpt('HTMLTest', $text);
+    $this->assertFalse(empty($result),  'Rendered Multi-byte encodings are not corrupted in search excerpts containing multibyte characters.');
   }
 
   /**
