Encoding UTF-8 oder ANSI einstellen

Für Fragen rund um die Ide und zum Debugger
Antworten
Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Encoding UTF-8 oder ANSI einstellen

Beitrag von Timm Thaler »

Ich habe für ein paar Projekte einige Units auf dem Raspberry und einige unter Windows erstellt. Nun habe ich das Problem, dass anscheinend einige der Units als ANSI oder ISO-8859-1 codiert sind, andere als UTF-8. Im Editor macht das keinen Unterschied, aber wenn ich Zeichenketten aus den Units zum Beispiel in einer SVG oder einem HTML-Dokument ausgebe, und dieses mit dem Encoding ISO-8859-1 deklariere, gibt es Probleme mit den Sonderzeichen aus den UTF-8 codierten Units.

Aktuell lösen kann ich die Probleme, indem ich die Units im Notepad++ öffne, dort wird mir das Encoding angezeigt, und dann auf das andere Encoding konvertiere und speichere. Allerdings ist das zum einen mühsam, zum anderen würde ich das für die Zukunft gern ausschließen.

Kann man in der Lazarus IDE irgendwo einstellen, in welchem Encoding die Units erzeugt und gespeichert werden?

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: Encoding UTF-8 oder ANSI einstellen

Beitrag von theo »

Rechtsklick auf Editor -> Dateieinstellungen -> Zeichenkodierung

Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Encoding UTF-8 oder ANSI einstellen

Beitrag von Timm Thaler »

Danke, ich habe es mit Werkzeuge => Kodierung umwandeln versucht, aber da hat er jedesmal nach Speichern und wieder Öffnen die Kodierung vergessen, die war dann wieder UTF-8 für Units ohne Sonderzeichen und ANSI für Units mit Sonderzeichen in den Strings. Jetzt scheint die Kodierung beibehalten zu werden.

Gibt es eine globale oder Projekteinstellung, die die Kodierung auch für neue Projekte oder wenigstens neue Units im Projekt festlegt?

Antworten