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

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

29.12.2012, 16:31. Показов 4324. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.12.2012, 16:31
Ответы с готовыми решениями:

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

Регистронезависимое сравнение текста в кодировке UTF-8
Как сделать, чтобы при написании РУССКИХ символов регистр не учитывался? Кодировка UTF-8..

Вывод текста в кодировке Win-1251 из bat-файла, текст которого в кодировке OEM-866
примем за аксиому утверждение: "bat-скрипт следует создавать в кодировке DOS (OEM-866)" ...пусть...

Создание файла в UTF-8 кодировке
Здравствуйте! Как сделать что бы в данной ситуации файл создавался в utf-8 DWORD tmp0; ...

8
Эксперт .NET
15555 / 11805 / 3097
Регистрация: 17.09.2011
Сообщений: 19,718
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
-8 / 1 / 2
Регистрация: 04.01.2009
Сообщений: 121
29.12.2012, 17:09  [ТС] 3
Огромное спасибо! Работает!
0
0 / 0 / 0
Регистрация: 16.07.2013
Сообщений: 4
16.07.2013, 11:13 4
а как сделать, наоборот, чтобы сохранялось в кодировке Win 65001, а не Unix?
0
2626 / 2211 / 237
Регистрация: 03.07.2012
Сообщений: 7,990
Записей в блоге: 1
16.07.2013, 16:18 5
Цитата Сообщение от Kranggg Посмотреть сообщение
а как сделать, наоборот, чтобы сохранялось в кодировке Win 65001, а не Unix?
Классно спросил
1. Кодировка 65001 - она просто "кодировка 65001", без Win или Unix
2. Все варианты выше сохраняют текст в кодировке 65001 (она же UTF-8), так что слово "наборот" требут разъяснения.
3. Знаю кучу кодировок, а "кодировку Unix" - не знаю...
0
Master of Orion
Эксперт .NET
6088 / 4944 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
16.07.2013, 17:18 6
Цитата Сообщение от zer0mail Посмотреть сообщение
Знаю кучу кодировок, а "кодировку Unix" - не знаю...
экий вы необразованный
0
2626 / 2211 / 237
Регистрация: 03.07.2012
Сообщений: 7,990
Записей в блоге: 1
16.07.2013, 17:42 7
Так образуйте А то я просто теряюсь в догадках, что имел ввиду Kranggg и что ему надо...
1
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
2626 / 2211 / 237
Регистрация: 03.07.2012
Сообщений: 7,990
Записей в блоге: 1
16.07.2013, 19:48 9
Молодец, что сам разобрался и написал
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.07.2013, 19:48

соханение в бокнот в кодировке UTF-8
if SaveTextFileDialog1.Execute then Memo1.Text := AnsiToUtf8(Memo1.Text); ...

Записать в блокнот в кодировке UTF-8
Здравствуйте, как записывать и считывать строки в кодировке UTF-8 ?

Считывание txt в кодировке utf-8
Возникла проблема при считывании текстовых файлов в кодировке utf-8. Вернее, считывать-то...

Ошибка при кодировке в UTF-8
Вот, написал код. Здесь его часть в начале файла указана кодировка UTF-8, перед строкой поставил...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru