Anne Kantola · Oct 15, 2018

What kind of convert for password when using Angular and Cache 2017.1?

In our language we have scandic letters like ä (a with two dots on it).

In Angular we use login like this:

let headers = new Headers();

password = Base64.fromBase64(password);

headers.append('Authorization', 'Basic ' + Base64.encode(username + ':' + password));

let options = new RequestOptions({ headers: headers, withCredentials: true });

return this._http.get(_param.baseUrl + this._loginUrl, options)

.map((res: Response) => {

It works, but not with these letters.

In other cases we convert data on server side like

set:tValue'="" tValue=$ZCONVERT(tValue,"I","UTF8")

but in this case we can't do this on server side, but should do on client side, but how?

PS. To ZAUTHENTICATE we should get char(228), but get char(195).

0 216
Discussion (3)1
Log in or sign up to continue


This is delegated authentication and passwords are not given in Cache, but this is good to know. 

InterSystems Caché supports passwords with Unicode characters for basic authentication starting 2018.1.

Earlier versions should require ascii-compliant passwords.

You can use PasswordValidationRoutine to enforce that.