Only in /var/www/htdocs/projects/drupal-cvs-testsite: files
diff -r -u -F '^function' /var/www/htdocs/projects/drupal-cvs/includes/common.inc /var/www/htdocs/projects/drupal-cvs-testsite/includes/common.inc
--- /var/www/htdocs/projects/drupal-cvs/includes/common.inc	2006-10-05 19:00:10.000000000 +0200
+++ /var/www/htdocs/projects/drupal-cvs-testsite/includes/common.inc	2006-10-09 00:50:00.000000000 +0200
@@ -1493,10 +1493,11 @@ function drupal_to_js($var) {
  * @param $text
  *   String to encode
  */
-function drupal_urlencode($text) {
+function drupal_urlencode($text, $type = NULL) {
+  $hash = ($type == 'search' ? '%2523' : '#');
   if (variable_get('clean_url', '0')) {
     return str_replace(array('%2F', '%26', '%23'),
-                       array('/', '%2526', '%2523'),
+                       array('/', '%2526', $hash),
                        urlencode($text));
   }
   else {
diff -r -u -F '^function' /var/www/htdocs/projects/drupal-cvs/modules/search/search.module /var/www/htdocs/projects/drupal-cvs-testsite/modules/search/search.module
--- /var/www/htdocs/projects/drupal-cvs/modules/search/search.module	2006-10-05 19:00:10.000000000 +0200
+++ /var/www/htdocs/projects/drupal-cvs-testsite/modules/search/search.module	2006-10-09 01:02:10.000000000 +0200
@@ -936,7 +936,7 @@ function search_view() {
     }
 
     // Construct the search form.
-    $output = drupal_get_form('search_form', NULL, $keys, $type);
+    $output = drupal_get_form('search_form', NULL, urldecode($keys), $type);
     $output .= $results;
 
     return $output;
@@ -1039,7 +1039,7 @@ function search_form_submit($form_id, $f
   }
 
   $type = $form_values['module'] ? $form_values['module'] : 'node';
-  return 'search/'. $type .'/'. $keys;
+  return 'search/'. $type .'/'. drupal_urlencode($keys, 'search');
 }
 
 /**
@@ -1066,7 +1066,7 @@ function search_box($form_id) {
  * Process a block search form submission.
  */
 function search_box_form_submit($form_id, $form_values) {
-  return 'search/node/'. trim($form_values[$form_id .'_keys']);
+  return 'search/node/'. drupal_urlencode(trim($form_values[$form_id .'_keys']), 'search');
 }
 
 /**
@@ -1088,6 +1088,7 @@ function theme_search_block_form($form) 
  */
 function search_data($keys = NULL, $type = 'node') {
   if (isset($keys)) {
+    $keys = urldecode($keys);
     if (module_hook($type, 'search')) {
       $results = module_invoke($type, 'search', 'search', $keys);
       if (isset($results) && is_array($results) && count($results)) {
