Index: urlify.module
===================================================================
RCS file: /cvs/drupal/contributions/modules/urlify/urlify.module,v
retrieving revision 1.4
diff -u -r1.4 urlify.module
--- urlify.module	1 Nov 2006 04:57:47 -0000	1.4
+++ urlify.module	19 Sep 2007 13:22:03 -0000
@@ -93,9 +93,36 @@
   );
 
   $remove_list = preg_replace("/(\w+)/e","\"'$1'\"", variable_get('urlify_strings_to_ignore', implode(',', $default_remove_list)));
+
+  $l_a = utf8_encode( 'ÀÁÂÃÄÅàáâãäå' );
+  $l_ae = utf8_encode( 'Ææ' );
+  $l_c = utf8_encode( 'Çç' );
+  $l_e = utf8_encode( 'ÈÉÊËèéêë' );
+  $l_i = utf8_encode( 'ÌÍÎÏìíîï' );
+  $l_d = utf8_encode( 'Ðð' );
+  $l_n = utf8_encode( 'Ññ' );
+  $l_o = utf8_encode( 'ÒÓÔÕÖØòóôõöø' );
+  $l_x = utf8_encode( '×' );
+  $l_u = utf8_encode( 'ÙÚÛÜùúûü' );
+  $l_y = utf8_encode( 'Ýýÿ' );
+  $l_b = utf8_encode( 'ß' );
+
   $output = <<<EOF
 <script type="text/javascript">
 function URLify(s, num_chars) {
+  // replace accents
+  s = s.replace(/[$l_a]/g,'a');
+  s = s.replace(/[$l_ae]/g,'ae');
+  s = s.replace(/[$l_b]/g,'b');
+  s = s.replace(/[$l_c]/g,'c');
+  s = s.replace(/[$l_d]/g,'d');
+  s = s.replace(/[$l_e]/g,'e');
+  s = s.replace(/[$l_i]/g,'i');
+  s = s.replace(/[$l_n]/g,'n');
+  s = s.replace(/[$l_o]/g,'o');
+  s = s.replace(/[$l_u]/g,'u');
+  s = s.replace(/[$l_x]/g,'x');
+  s = s.replace(/[$l_y]/g,'y');
   // changes, e.g., "Petty theft" to "petty_theft"
   // remove all these words from the string before urlifying
   removelist = [$remove_list];
