WIN: Umlaute im Account Namen
-
- Beiträge: 37
- Registriert: Fr 21. Feb 2020, 19:17
- OS, Lazarus, FPC: Win10/64
- CPU-Target: 64 Bit
- Wohnort: Osterholz-Scharmbeck
WIN: Umlaute im Account Namen
Hallo,
der Administration ist es "gelungen" Useraccounts im AD anzulegen, deren Name Umlaute enthält.
Bislang war das nicht zulässig, Müller musste als Mueller geschrieben werden.
Nunmehr tauchen Usernamen auf, die Umlaute enthalten.
Die Frage dazu: wenn man den Usernamen aus dem Environment liest, welche Zeichenkodierung hat das dann?
der Administration ist es "gelungen" Useraccounts im AD anzulegen, deren Name Umlaute enthält.
Bislang war das nicht zulässig, Müller musste als Mueller geschrieben werden.
Nunmehr tauchen Usernamen auf, die Umlaute enthalten.
Die Frage dazu: wenn man den Usernamen aus dem Environment liest, welche Zeichenkodierung hat das dann?
-
- Beiträge: 581
- Registriert: Sa 22. Okt 2016, 23:12
- OS, Lazarus, FPC: W10, L 3.6
- CPU-Target: 32+64bit
- Wohnort: Dresden
Re: WIN: Umlaute im Account Namen
Command prompt öffnen und chcp eingeben. Dann wird die aktuell verwendete Code Page angezeigt.
Sollte 850 sein.
Sollte 850 sein.
LG Maik
Windows 10,
- Lazarus 3.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 4.99 (trunk) + fpc 3.3.1 (main/trunk)
Windows 10,
- Lazarus 3.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 4.99 (trunk) + fpc 3.3.1 (main/trunk)
- af0815
- Lazarusforum e. V.
- Beiträge: 6512
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: WIN: Umlaute im Account Namen
Das mit dem chcp auf der Konsole würde ich nicht unterschreiben. Was du da sicher hast, ist die lokale CP.
Siehe https://learn.microsoft.com/de-de/troub ... in-site-ou
https://www.ibm.com/docs/de/sva/10.0.7? ... tinguished
https://www.gradenegger.eu/de/zeichenko ... tifikaten/
Das hängt davon ab, was der Domänen Administrator da konfiguriert hat.
Siehe https://learn.microsoft.com/de-de/troub ... in-site-ou
https://www.ibm.com/docs/de/sva/10.0.7? ... tinguished
https://www.gradenegger.eu/de/zeichenko ... tifikaten/
Das hängt davon ab, was der Domänen Administrator da konfiguriert hat.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
- Jorg3000
- Lazarusforum e. V.
- Beiträge: 253
- Registriert: So 10. Okt 2021, 10:24
- OS, Lazarus, FPC: Win64
- Wohnort: NRW
Re: WIN: Umlaute im Account Namen
Hi!
Die Codepage kann man auslesen mittels ...
GetACP() ergibt bei mir Codepage 1252 (Westeuropäisch).
Aber ich empfehle den Username mit der UTF-16 Funktion GetUserNameW() auszulesen, dann braucht man sich nicht um Codepages zu kümmern ...
Grüße, Jörg
Die Codepage kann man auslesen mittels ...
Code: Alles auswählen
var OSAnsiCodePage: TSystemCodepage;
OSAnsiCodePage := Windows.GetACP(); // vgl. Windows.GetConsoleCP()
Aber ich empfehle den Username mit der UTF-16 Funktion GetUserNameW() auszulesen, dann braucht man sich nicht um Codepages zu kümmern ...
Code: Alles auswählen
function getWindowsUsername(): String;
var Size: DWord;
un: UnicodeString;
begin
un:='';
SetLength(un,256);
Size:=256;
Windows.GetUserNameW(PWChar(un),{var}Size); // => Länge in WideChar plus 1 für #0
if (Size<=1) or (Size>256) then Exit('');
SetLength(un,Size-1);
Result:=Utf8Encode(un);
end;
-
- Beiträge: 711
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: WIN: Umlaute im Account Namen
Vielleicht hat er er den Benutzer erst als Mueller angelegt, dann in Müller umbenannt. Der reale Benutzerordnername bleibt Mueller aber Explorer zeigt überall Müller. So mache ich das immer.
Schaue in C:\Users nach, um zu prüfen ob er auch so gemacht hat.
Schaue in C:\Users nach, um zu prüfen ob er auch so gemacht hat.
-
- Beiträge: 37
- Registriert: Fr 21. Feb 2020, 19:17
- OS, Lazarus, FPC: Win10/64
- CPU-Target: 64 Bit
- Wohnort: Osterholz-Scharmbeck
Re: WIN: Umlaute im Account Namen
Genau so war es.Soner hat geschrieben: Fr 13. Dez 2024, 10:01 Vielleicht hat er er den Benutzer erst als Mueller angelegt, dann in Müller umbenannt. Der reale Benutzerordnername bleibt Mueller aber Explorer zeigt überall Müller. So mache ich das immer.
Schaue in C:\Users nach, um zu prüfen ob er auch so gemacht hat.
-
- Lazarusforum e. V.
- Beiträge: 3171
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: WIN: Umlaute im Account Namen
Wie Jörg schon hingewiesen hat, hat Windows hat eine vollständige UTF-16 API. Damit ist die Kodierung fest vorgegeben.icho2099 hat geschrieben: Do 12. Dez 2024, 13:40 Die Frage dazu: wenn man den Usernamen aus dem Environment liest, welche Zeichenkodierung hat das dann?
Wenn du den Usernamen bisher über eine Umgebungsvariable abfragst, kannst du das auch in UTF-16 machen:
Code: Alles auswählen
var UserName: UnicodeString;
begin
UserName := SysUtils.GetEnvironmentVariable(UnicodeString('USERNAME'))
end;
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein