Index: applications/editors/josm/plugins/DirectUpload/src/org/openstreetmap/josm/plugins/DirectUpload/UploadDataGui.java
===================================================================
--- applications/editors/josm/plugins/DirectUpload/src/org/openstreetmap/josm/plugins/DirectUpload/UploadDataGui.java	(revision 13626)
+++ applications/editors/josm/plugins/DirectUpload/src/org/openstreetmap/josm/plugins/DirectUpload/UploadDataGui.java	(revision 13634)
@@ -24,4 +24,9 @@
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetEncoder;
+import java.nio.charset.CharacterCodingException;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
@@ -167,7 +172,7 @@
         if(checkForErrors(username, password, description, gpxData))
             return;
-				
-				OkButton.setEnabled(false);
-				
+                
+        OkButton.setEnabled(false);
+                
         description = description.replaceAll("[&?/\\\\]"," ");
         tags = tags.replaceAll("[&?/\\\\.,;]"," ");
@@ -185,5 +190,10 @@
             connect.setRequestMethod("POST");
             connect.setDoOutput(true);
-            connect.addRequestProperty("Authorization", "Basic " + Base64.encode(username + ":" + password));
+            
+            CharsetEncoder encoder = Charset.forName("UTF-8").newEncoder();
+            String auth = username + ":" + password;
+            ByteBuffer bytes = encoder.encode(CharBuffer.wrap(auth));
+            connect.addRequestProperty("Authorization", "Basic " + Base64.encode(bytes));
+            
             connect.addRequestProperty("Content-Type", "multipart/form-data; boundary=" + BOUNDARY);
             connect.addRequestProperty("Connection", "close"); // counterpart of keep-alive
