Avatar billede starf Nybegynder
24. oktober 2011 - 12:41 Der er 11 kommentarer og
1 løsning

gem som ansi i text

Hvordan får jeg c# til at skrive min text fil som ansi ? frem for utf8 ?

System.IO.StreamWriter file = new System.IO.StreamWriter(userk);

jeg har prøvet System.IO.StreamWriter file = new System.IO.StreamWriter file = new System.IO.StreamWriter(userk, Encoding.ASCII);

men dette giver mig følgende fejl

Error    2    Argument 2: cannot convert from 'System.Text.Encoding' to 'bool'

hvordan gør man præcist?
Avatar billede bvli Praktikant
24. oktober 2011 - 13:04 #1
bool doAppend = false;
var file = new StreamWriter(userk, doappend, Encoding.Default);
Avatar billede starf Nybegynder
24. oktober 2011 - 14:44 #2
jeg får en fil der er gemt i utf-8 med det?
Avatar billede bvli Praktikant
24. oktober 2011 - 15:51 #3
Det lyder mærkeligt? Jeg får en fil der er encoded med ANSI når jeg kører det her:

using System;
using System.IO;
using System.Text;

namespace B.Testing {
    class Program {
        static void Main(string[] args) {
            string fileName = Path.Combine(Path.GetTempPath(), "test.txt");
            using (var file = new StreamWriter(fileName, false, Encoding.Default)) {
                file.WriteLine("tester - blåbærgrød");
            }
           
        }
    }
}

Hvordan finder du ud af hvilken encoding der bruges?
Avatar billede starf Nybegynder
24. oktober 2011 - 16:03 #4
Hmmm
det mit program gør er den køre en text fil igennem, denne tekst fil er i ansi.

så går den filen igennem, og skriver events der kommer efter dags dato, ned i en ny fil, denne fil bliver gemt som utf8.

Måden jeg tjekker det på, er at hente filen ind i notepad++ og ser hvad encoding den står til, den orginale står til ansi, og den der bliver lavet af koden, giver mig utf8
Avatar billede starf Nybegynder
24. oktober 2011 - 16:04 #5
Her er hele min skrive kode:

bool doappend = false;
var file = new StreamWriter(userk, doappend, Encoding.Default);
             
file.WriteLine(mlokale);
file.WriteLine(" ");
file.WriteLine(minstreng2);
file.WriteLine(" ");
file.WriteLine("Resterende møder:");
file.WriteLine(minstreng);
         
file.Close();
Avatar billede bvli Praktikant
24. oktober 2011 - 16:21 #6
Well - Notepad siger, at det er ANSI. Men problemet er jo, at der ikke står noget i filen om, hvilken encoding det er. Alle programmer er nødt til at gætte sig frem. Nogle er bedre end andre.

Spørgsmålet er, om du har nogen problemer med at den skriver at det er UTF-8 - når du du selv VED at det er ANSI?
Avatar billede starf Nybegynder
24. oktober 2011 - 17:21 #7
problemet er det er ikke ansi, jeg læser tekst filen ind i et andet program, og der virker æøå ikke. Ændre jeg til ansi direkte i min notepad, og gemmer så virker æøå fint. Er der ikke en måde bare at lægge den fast, på det skal være ansi, så den ikke skal gætte?
Avatar billede bvli Praktikant
24. oktober 2011 - 18:37 #8
Jo, det ville være dejligt, hvis det var sådan. Men der er altså ingen standard for det :(

Hvordan læser du filen ind i det andet program?
Avatar billede starf Nybegynder
24. oktober 2011 - 19:02 #9
det gør jeg via et vbscript, sådan her:

Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("c:\user_kalender_madsh.txt", ForReading)

Mads = objTextFile.ReadAll
objTextFile.Close

det er et scala project, så der kan jeg kun scripte i vb.
Avatar billede bvli Praktikant
25. oktober 2011 - 15:08 #10
Humm... Bare for at være nysgerrig.. Hva' sker der hvis du åbner den med UTF-8 encoding i OpenTextFile(...) ? (kig evt. her: http://www.eggheadcafe.com/microsoft/VBScript/30950570/vbscript-opentextfile-strings-and-unicode--possible.aspx)
Avatar billede starf Nybegynder
17. november 2011 - 20:12 #11
bvli smid et svar :)
Avatar billede bvli Praktikant
18. november 2011 - 04:26 #12
Hep! Fik du det løst?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester