Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.93/14: Рейтинг темы: голосов - 14, средняя оценка - 4.93
romanrex
-8 / 1 / 2
Регистрация: 04.01.2009
Сообщений: 94
1

Сохренение текста из TextBox в кодировке Unix 65001(UTF-8)

29.12.2012, 16:31. Просмотров 2676. Ответов 8
Метки нет (Все метки)

Используется такой вид кода при создании и сохранения файла index.php для сайта системы bitrix

C#
1
2
3
4
5
6
7
8
9
10
11
12
// save - путь к файлу
// textBoxPhp - текстбокс с содержанием текста, которое сохраняется
SaveToFile(save, textBoxPhp);
.....
 
 
        private void SaveToFile(string path, TextBox textBox)
        {
            StreamWriter sw = new StreamWriter(path, false, Encoding.UTF8);
            sw.WriteLine(textBox.Text);
            sw.Close();
        }
Сохранение нужно в кодировке Unix 65001(UTF-8), как это прописать? То, что получается при UTF8, UTF7 и UTF32 воспринимается как неверная кодировка для системы bitrix. Если сравнивать настройки отдельных программ, файл должен быть сохранен без "BOM".
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2012, 16:31
Ответы с готовыми решениями:

Не сохраняется файл в кодировке utf-8 without bom
Мне нужно сохранить файл в кодировке UTF-8 без BOM. Для этого пробовал два...

Неправильно отображает в файле символы в кодировке UTF-8
Добрый день. Нужна помощь. Есть текстовый файл (в нем содержится фрагмент...

Как сохранить html-страницу в кодировке ANSI (сохраняет только в UTF-8)?
Добрый день! Нужно сохранить страницу в файл в кодировке ANSI. Если...

Извлечение текста из .txt в правильной кодировке
Почему-то вместо русских символов получаю квадратики, перепробовал добавалять...

Чтение и сохранение текста в файл в кодировке по умолчанию
Здравствуйте. Извиняюсь если уже было, но впервые столкнулся с такой проблемой:...

8
kolorotur
Эксперт .NET
10496 / 8683 / 2160
Регистрация: 17.09.2011
Сообщений: 14,901
Завершенные тесты: 1
29.12.2012, 16:50 2
Цитата Сообщение от romanrex Посмотреть сообщение
файл должен быть сохранен без "BOM"
C#
1
2
3
4
bool useBOM = false;
StreamWriter sw = new StreamWriter(path, false, new UTF8Encoding(useBOM));
sw.WriteLine(textBox.Text);
sw.Close();
0
romanrex
-8 / 1 / 2
Регистрация: 04.01.2009
Сообщений: 94
29.12.2012, 17:09  [ТС] 3
Огромное спасибо! Работает!
0
Kranggg
0 / 0 / 0
Регистрация: 16.07.2013
Сообщений: 4
16.07.2013, 11:13 4
а как сделать, наоборот, чтобы сохранялось в кодировке Win 65001, а не Unix?
0
zer0mail
2452 / 2089 / 216
Регистрация: 03.07.2012
Сообщений: 7,571
Записей в блоге: 1
16.07.2013, 16:18 5
Цитата Сообщение от Kranggg Посмотреть сообщение
а как сделать, наоборот, чтобы сохранялось в кодировке Win 65001, а не Unix?
Классно спросил
1. Кодировка 65001 - она просто "кодировка 65001", без Win или Unix
2. Все варианты выше сохраняют текст в кодировке 65001 (она же UTF-8), так что слово "наборот" требут разъяснения.
3. Знаю кучу кодировок, а "кодировку Unix" - не знаю...
0
Psilon
Master of Orion
Эксперт .NET
6000 / 4850 / 902
Регистрация: 10.07.2011
Сообщений: 14,460
Записей в блоге: 5
Завершенные тесты: 4
16.07.2013, 17:18 6
Цитата Сообщение от zer0mail Посмотреть сообщение
Знаю кучу кодировок, а "кодировку Unix" - не знаю...
экий вы необразованный
0
zer0mail
2452 / 2089 / 216
Регистрация: 03.07.2012
Сообщений: 7,571
Записей в блоге: 1
16.07.2013, 17:42 7
Так образуйте А то я просто теряюсь в догадках, что имел ввиду Kranggg и что ему надо...
1
Kranggg
0 / 0 / 0
Регистрация: 16.07.2013
Сообщений: 4
16.07.2013, 19:18 8
поискал и нашел... ))
в общем, ситуация сначала.
скачиваю файл просто через браузер, у него кодировка Win 65001 (utf-8) (смотрю файл через AkelPad, в строке состояния указана кодировка).
когда в своем приложении скачиваю и сохраняю этот же файл через StreamWriter построчно, получается на вид такой же файл с таким же текстом, но написано Unix 65001 (utf-8).
Никак не мог понять в чем разница.
Оказалось, как обычно, всё элементарно, перевод строки в Unix - \n, а в Win - \r\n
0
zer0mail
2452 / 2089 / 216
Регистрация: 03.07.2012
Сообщений: 7,571
Записей в блоге: 1
16.07.2013, 19:48 9
Молодец, что сам разобрался и написал
0
16.07.2013, 19:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.07.2013, 19:48

Запись текста в файл в кодировке Unicode Little Endian
Хочу записать юникодовскую строку в файл лител ендингом. FileStream sr = new...

Возможность преобразования текста UTF-8 в Windows-1251
Всем привет! Возникла необходимость проверить, можно ли преобразовать некоторый...

Вывод массива в файл в unix формате и utf-8 кодировке
Собственно, как написать сию функцию? Чем пользоваться? Особенно интересует...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru