Common subdirectories: ../../downloads/pathauto/contrib and modules/pathauto/contrib
diff -up ../../downloads/pathauto/pathauto.inc modules/pathauto/pathauto.inc
--- ../../downloads/pathauto/pathauto.inc	2007-08-14 16:52:13.000000000 -0700
+++ modules/pathauto/pathauto.inc	2007-08-17 04:31:56.000000000 -0700
@@ -26,6 +26,49 @@ function _pathauto_alias_exists($alias, 
  * 
  */
 function pathauto_cleanstring($string) {
+  // Optionally remove HTML character encoding.
+  switch (variable_get('pathauto_encoded_characters', 0)) {
+    // Allow all.
+    case 0:
+      break;
+    // Remove encoded punctuation only.
+    case 1:
+      // Encoding number and name included for browser compatibility.
+      $encoded_punctuation = array(
+        "&#034;", "&quot;", // quotation mark
+        "&#038;", "&amp;", // ampersand
+        "&#039;", "&apos;", // apostrophe
+        "&#060;", "&lt;", // less-than sign
+        "&#062;", "&gt;", // greater-than sign
+        "&#160;", "&nbsp;", // non-breaking space
+        "&#161;", "&iexcl;", // inverted exclamation mark
+        "&#171;", "&laquo;", // left-pointing double angle quotation mark
+        "&#180;", "&acute;", // acute accent
+        "&#183;", "&middot;", // middle dot
+        "&#187;", "&raquo;", // right-pointing double angle quotation mark
+        "&#191;", "&iquest;", // inverted question mark
+        "&#8211;", "&ndash;", // en dash
+        "&#8212;", "&mdash;", // em dash
+        "&#8216;", "&lsquo;", // left single quotation mark
+        "&#8217;", "&rsquo;", // right single quotation mark
+        "&#8218;", "&sbquo;", // single low-9 quotation mark
+        "&#8220;", "&ldquo;", // left double quotation mark
+        "&#8221;", "&rdquo;", // right double quotation mark
+        "&#8230;", "&hellip;", // horizontal ellipsis
+        "&#8249;", "&lsaquo;", // single left-pointing angle quotation mark
+        "&#8250;", "&rsaquo;", // single right-pointing angle quotation mark
+        "&#8260;", "&frasl;" // fraction slash
+      );
+      $string = str_replace($encoded_punctuation, '', $string);
+      break;
+    // Remove all.
+    case 2:
+      $string = preg_replace('/&#?[a-zA-Z0-9]+?;/', '', $string);
+      break;
+    default:
+      break;
+  }
+
   // Default words to ignore
   $ignore_words = array(
     "a", "an", "as", "at", "before", "but", "by", "for", "from",
diff -up ../../downloads/pathauto/pathauto.install modules/pathauto/pathauto.install
--- ../../downloads/pathauto/pathauto.install	2007-08-16 09:09:41.000000000 -0700
+++ modules/pathauto/pathauto.install	2007-08-17 04:34:43.000000000 -0700
@@ -27,6 +27,7 @@ function pathauto_install() {
     variable_set('pathauto_modulelist', array('node', 'user'));
   }
   // Set the rest of the pathauto default variables
+  variable_set('pathauto_encoded_characters', '0');
   variable_set('pathauto_ignore_words', 'a,an,as,at,before,but,by,for,from,is,in,into,like,of,off,on,onto,per,since,than,the,this,that,to,up,via,with');
   variable_set('pathauto_indexaliases', FALSE);
   variable_set('pathauto_indexaliases_bulkupdate', FALSE);
diff -up ../../downloads/pathauto/pathauto.module modules/pathauto/pathauto.module
--- ../../downloads/pathauto/pathauto.module	2007-08-14 06:58:51.000000000 -0700
+++ modules/pathauto/pathauto.module	2007-08-17 04:36:14.000000000 -0700
@@ -116,7 +116,13 @@ function pathauto_admin_settings() {
     '#default_value' => variable_get('pathauto_quotes', 0),
     '#options' => array(t('Remove'), t('Replace by separator')),
     );
-    
+
+  $form["general"]["pathauto_encoded_characters"] = array('#type' => 'radios',
+    '#title' => t('Encoded characters'),
+    '#default_value' => variable_get('pathauto_encoded_characters', 0),
+    '#options' => array(t('Allow all'), t('Remove encoded punctuation only'), t('Remove all')),
+    '#description' => t('How should Pathauto treat HTML character encoding? Many characters are encoded using a name or a number in place of themselves. <strong>If left as &apos;allow all,&apos; the title <em>Universe &amp; &quot;everything&quot;</em> will become <em>universe-amp-quot-everything-quot</em>.</strong>'));
+
   $form["general"]["pathauto_max_length"] = array('#type' => 'textfield',
     '#title' => t('Maximum alias length'), '#size' => 3, '#maxlength' => 3,
     '#default_value' => variable_get('pathauto_max_length', 100),
Common subdirectories: ../../downloads/pathauto/po and modules/pathauto/po
Common subdirectories: ../../downloads/pathauto/test and modules/pathauto/test
