Index: trunk/src/org/openstreetmap/josm/gui/dialogs/UserListDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/UserListDialog.java	(revision 2040)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/UserListDialog.java	(revision 2042)
@@ -11,4 +11,6 @@
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
 import java.text.NumberFormat;
 import java.util.ArrayList;
@@ -24,4 +26,5 @@
 
 import javax.swing.AbstractAction;
+import javax.swing.JOptionPane;
 import javax.swing.JPanel;
 import javax.swing.JScrollPane;
@@ -185,5 +188,9 @@
             Iterator<User> it = users.iterator();
             while(it.hasNext() && num > 0) {
-                launchBrowser(createInfoUrl(it.next()));
+                String url = createInfoUrl(it.next());
+                if (url == null) {
+                    break;
+                }
+                launchBrowser(url);
                 num--;
             }
@@ -193,5 +200,17 @@
         protected String createInfoUrl(Object infoObject) {
             User user = (User)infoObject;
-            return getBaseUserUrl() + "/" + user.name;
+            try {
+                return getBaseUserUrl() + "/" + URLEncoder.encode(user.name, "UTF-8");
+            } catch(UnsupportedEncodingException e) {
+                e.printStackTrace();
+                JOptionPane.showMessageDialog(
+                        Main.parent,
+                        tr("<html>Failed to create an URL because the encoding ''{0}'' was<br>"
+                                + "was missing on this system.</html>", "UTF-8"),
+                                tr("Missing encoding"),
+                                JOptionPane.ERROR_MESSAGE
+                );
+                return null;
+            }
         }
 
