Index: java/org/apache/commons/httpclient/auth/BasicScheme.java =================================================================== RCS file: /home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/auth/BasicScheme.java,v retrieving revision 1.4.2.1 diff -u -r1.4.2.1 BasicScheme.java --- java/org/apache/commons/httpclient/auth/BasicScheme.java 13 Aug 2003 19:58:14 -0000 1.4.2.1 +++ java/org/apache/commons/httpclient/auth/BasicScheme.java 13 Nov 2003 02:52:00 -0000 @@ -161,6 +161,6 @@ buffer.append(credentials.getPassword()); return "Basic " + HttpConstants.getAsciiString( - Base64.encode(HttpConstants.getBytes(buffer.toString()))); + Base64.encode(HttpConstants.getContentBytes(buffer.toString()))); } } Index: test/org/apache/commons/httpclient/TestAuthenticator.java =================================================================== RCS file: /home/cvs/jakarta-commons/httpclient/src/test/org/apache/commons/httpclient/TestAuthenticator.java,v retrieving revision 1.25.2.3 diff -u -r1.25.2.3 TestAuthenticator.java --- test/org/apache/commons/httpclient/TestAuthenticator.java 11 Sep 2003 09:04:34 -0000 1.25.2.3 +++ test/org/apache/commons/httpclient/TestAuthenticator.java 13 Nov 2003 02:52:03 -0000 @@ -219,8 +219,18 @@ String expected = "Basic " + HttpConstants.getString(Base64.encode(HttpConstants.getBytes("username:password"))); assertEquals(expected,method.getRequestHeader("Authorization").getValue()); } - - + + public void testBasicAuthenticationWith88591Chars() throws Exception { + int[] germanChars = { 0xE4, 0x2D, 0xF6, 0x2D, 0xFc }; + StringBuffer buffer = new StringBuffer(); + for (int i = 0; i < germanChars.length; i++) { + buffer.append((char)germanChars[i]); + } + + UsernamePasswordCredentials credentials = new UsernamePasswordCredentials("dh", buffer.toString()); + assertEquals("Basic ZGg65C32Lfw=", BasicScheme.authenticate(credentials)); + } + public void testBasicAuthenticationWithMutlipleRealms() throws Exception { String challenge1 = "Basic realm=\"realm1\""; String challenge2 = "Basic realm=\"realm2\"";