? profiles/testing
Index: modules/file/file.field.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/file/file.field.inc,v
retrieving revision 1.28
diff -u -p -r1.28 file.field.inc
--- modules/file/file.field.inc	2 Jul 2010 12:37:57 -0000	1.28
+++ modules/file/file.field.inc	29 Jul 2010 19:15:13 -0000
@@ -892,7 +892,19 @@ function file_field_formatter_view($enti
 
     case 'file_url_plain':
       foreach ($items as $delta => $item) {
-        $element[$delta] = array('#markup' => empty($item['uri']) ? '' : file_create_url($item['uri']));
+        if (empty($item['uri'])) {
+          $element[$delta] = array('#markup' => '');
+        }
+
+        // Encode the parts of the path to ensure URLs operate within href attributes.
+        $stream_wrapper = file_stream_wrapper_get_instance_by_uri($item['uri']);
+        $parts_1 = explode('://', $stream_wrapper->getExternalUrl());
+        $parts_2 = explode('/', $parts_1[1]);
+        foreach ($parts_2 as $index => $part) {
+          $parts_2[$index] = rawurlencode($part);
+        }
+        $url = rawurlencode($parts_1[0]) . '://' . implode('/', $parts_2);
+        $element[$delta] = array('#markup' => $url);
       }
       break;
 
