hilfdirselbst.ch
Facebook Twitter gamper-media
JuMayr S
Beiträge: 88
4. Okt 2013, 18:22
Beitrag #1 von 9
Bewertung:
(1298 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Text wird nicht in File gespeichert wenn ein á darin vorkommt?


Hi zusammen,

ich habe folgendes Script (stark vereinfacht):

Code
var dateipfad = Folder.desktop + "/testdatei.txt"; 
var f = File( dateipfad );
f.open("w");
f.write("aniversári");
f.close();


Die Datei, die bei mir erzeugt wird ist LEER (0 byte).
Wenn ich das á herauslösche, dann klappt es.

Passiert sowohl auf dem Mac aus auch auf PC.
Ist das ein "bekanntest" Problem?
Habe ich irgendwo einen Denkfehler?

Gruß
Jürgen
Top
 
X
JuMayr S
Beiträge: 88
4. Okt 2013, 18:27
Beitrag #2 von 9
Beitrag ID: #518076
Bewertung:
(1294 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Text wird nicht in File gespeichert wenn ein á darin vorkommt?


jetzt wurde mein schönes böses Sonderzeichen umgewandelt...

Ich hänge mal eine kleine Datei an.
Für einen lokalen Test diesen Dateinamen kopieren und als Text bei f.write einfügen.

Nachtrag: Da es im Dateiupload auch umgewandelt wurde hier ein Link auf das Zeichen.

http://www.fileformat.info/info/unicode/char/301/index.htm
als Antwort auf: [#518075]
(Dieser Beitrag wurde von JuMayr am 4. Okt 2013, 18:35 geändert)
Top

Anhang:
aniversa&#769 (23.9 KB)
 
cwenet S
Beiträge: 855
4. Okt 2013, 18:44
Beitrag #3 von 9
Beitrag ID: #518077
Bewertung:
(1270 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Text wird nicht in File gespeichert wenn ein á darin vorkommt?


Hallo Jürgen,

versuche bitte das vor write
f.encoding = "UTF-8";

Gruss
Christoph
als Antwort auf: [#518076] Top
 
Martin Fischer  M  p
Beiträge: 11784
4. Okt 2013, 18:44
Beitrag #4 von 9
Beitrag ID: #518078
Bewertung:
(1270 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Text wird nicht in File gespeichert wenn ein á darin vorkommt?


Hallo Jürgen,

versuch mal, die Datei als Unicode-Text zu encodieren:

Code
var dateipfad = Folder.desktop + "/testdatei.txt";  
var f = File( dateipfad );
f.open("w");
f.encoding = 'UTF8';
f.write("aniversári");
f.close();


Viele Grüße
Martin
als Antwort auf: [#518075]
(Dieser Beitrag wurde von Martin Fischer am 4. Okt 2013, 18:46 geändert)
Top
 
WernerPerplies
Beiträge: 2177
4. Okt 2013, 18:45
Beitrag #5 von 9
Beitrag ID: #518079
Bewertung:
(1266 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Text wird nicht in File gespeichert wenn ein á darin vorkommt?


Hi,

codiere das Zeichen als "\u00E1" oder scheibe komplett "aniversaári",

Bei mir funktioniert es dann in beiden Fällen.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler jetzt mit Vollwaschgang
Aktuelles
XING
als Antwort auf: [#518076] Top
 
JuMayr S
Beiträge: 88
4. Okt 2013, 18:46
Beitrag #6 von 9
Beitrag ID: #518080
Bewertung:
(1264 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Text wird nicht in File gespeichert wenn ein á darin vorkommt?


Antwort auf [ Martin Fischer ] Hallo Jürgen,

versuch mal, die Datei als Unicode-Text zu encodieren:

Code
var dateipfad = Folder.desktop + "/testdatei.txt";  
var f = File( dateipfad );
f.encoding = 'UTF8'; <--- das war es :)
f.open("w");
f.write("aniversári");
f.close();




KNUTSCH:)
als Antwort auf: [#518078] Top
 
Martin Fischer  M  p
Beiträge: 11784
4. Okt 2013, 18:47
Beitrag #7 von 9
Beitrag ID: #518081
Bewertung:
(1261 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Text wird nicht in File gespeichert wenn ein á darin vorkommt?


Antwort auf: KNUTSCH:)


Ne, knutsch lieber den Christoph.
Der war schneller! ;-)

Ab ins Wochenende!

Viele Grüße
Martin
als Antwort auf: [#518080] Top
 
WernerPerplies
Beiträge: 2177
4. Okt 2013, 19:01
Beitrag #8 von 9
Beitrag ID: #518082
Bewertung:
(1231 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Text wird nicht in File gespeichert wenn ein á darin vorkommt?


Hallo Christoph,

UTF-8 wäre eigentlich die Defaulteinstellung, aber es ist sicherlich sicherer das Encoding mitzugeben.

Ergänzung:

Diese Funktion verwendet explizit UTF-8 als Standard:
Code
    /*bool*/function writeString2File(fileName, string2Write, encoding)  
{
try // writeString2File
{
var file = File (fileName);
if (file==null)
throw new Error("Konnte das Dateiobject nicht erzeugen: \n" + fileName);
if (encoding==null)file.encoding = "UTF-8";
else file.encoding=encoding;
if (!file.open("w"))
throw new Error("Konnte Datei nicht zum schreiben öffnen: \n" + fileName);
if (!(file.write(string2Write)))
throw new Error("Konnte Dateiinhalt nicht schreiben: \n" + fileName);
if (!(file.close()))
{
throw new Error("Konnte Datei nicht schließen: \n" + fileName);
}
return true;
}
catch (error) // writeString2File
{
throw error;
}
return false;
}
}


Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler jetzt mit Vollwaschgang
Aktuelles
XING
als Antwort auf: [#518077]
(Dieser Beitrag wurde von WernerPerplies am 4. Okt 2013, 19:05 geändert)
Top
 
JuMayr S
Beiträge: 88
4. Okt 2013, 19:56
Beitrag #9 von 9
Beitrag ID: #518085
Bewertung:
(1178 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Text wird nicht in File gespeichert wenn ein á darin vorkommt?


Antwort auf [ cwenet ] Hallo Jürgen,

versuche bitte das vor write
f.encoding = "UTF-8";

Gruss
Christoph


Auch ein Knutsch..
Da erkennt man mal wieder den Unterschied zwischen einem Business Analysten der Code lesen kann und einen Entwickler der ihn schreiben kann.
als Antwort auf: [#518077] Top
 
X