none
Вопрос по кодировкам. RRS feed

  • Вопрос

  • Возникла проблема с записью рускоязычных команд в бат файл. Пытаюсь записать в кодировке ASCII а на выходе всеравно кракозябры вместо русских букв, а с английскими все нормально (я имею ввиду что кракозябры при исполнениии bat файла а не в его теле)...

    Подскажите, где зарыта собака?

    using System;
    
    using System.Collections.Generic;
    
    using System.Linq;
    
    using System.Text;
    
    using System.IO;
    
    
    
    namespace TestBat
    
    {
    
     class Program
    
     {
    
      static void Main(string[] args)
    
      {
    
       string FileName = "Test.bat";
    
       Encoding enc = Encoding.ASCII;
    
       if (File.Exists(FileName)) File.Delete(FileName);
    
       StreamWriter SW = new StreamWriter(FileName);
    
       SW.WriteLine("@echo Привет!", enc);
    
       SW.WriteLine("Pause", enc);
    
       SW.Close();
    
       System.Diagnostics.Process.Start(FileName);
    
      }
    
     }
    
    }

     

    • Перемещено Tagore Bandlamudi 3 октября 2010 г. 0:27 MSDN Forums consolidation (От:Форум по .NET Framework)
    4 июля 2010 г. 15:51

Ответы

  • string fileName = @"d:\temp\test.bat";
    
    StreamWriter SW = new StreamWriter(fileName, false, Encoding.GetEncoding(866));
          
    SW.WriteLine("@echo Привет!");
    SW.WriteLine("Pause");
    SW.Close();
    
    System.Diagnostics.Process.Start(fileName);
    • Помечено в качестве ответа JusteG 5 июля 2010 г. 15:34
    4 июля 2010 г. 18:28
  • Чего-то не могу найти streamwriter.writeline который вторым параметром принимает кодировку, так что наверно лучше кодировку устанавливать в конструкторе, самого StreamWriter'а .
    • Помечено в качестве ответа JusteG 5 июля 2010 г. 15:34
    4 июля 2010 г. 18:12
    Модератор

Все ответы