powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / И снова проблемы с русской кодировкой!
10 сообщений из 10, страница 1 из 1
И снова проблемы с русской кодировкой!
    #33954384
aleshkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
читаю с помошью компонента строки с текстового файла(кодировка которого Windows-1251). <globalizations> v web.config менять нельзя, так как система должна работать с разними языками!
Спасибо за помошь

Dim strRes As String = mobjLang.GetString(txtLang.Text,Val(txtNumber.Text), "")
MessageBox.Text = strRes
...
Рейтинг: 0 / 0
И снова проблемы с русской кодировкой!
    #33954601
Nisus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Раз нельзя менять конфигурационный файл меняйте культуру прямо у текущей ветки перед вызовом компонента, хотя, конечно не факт что поможет. Примерно так это должно выглядеть:System.Globalization.CultureInfo current =
    System.Threading.Thread.CurrentThread.CurrentCulture;
try
{
    System.Threading.Thread.CurrentThread.CurrentCulture =
        System.Globalization.CultureInfo.CreateSpecificCulture("ru-RU");
}
finally
{
    System.Threading.Thread.CurrentThread.CurrentCulture = current;
} Этот компонент может и не пользоваться текущей культурой для чтения файла, скорее всего там просто идет чтение в utf-е. Тем не менее попробовать стоит.
...
Рейтинг: 0 / 0
И снова проблемы с русской кодировкой!
    #33954970
aleshkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не работает :( есть какие-то другие предлежения?
...
Рейтинг: 0 / 0
И снова проблемы с русской кодировкой!
    #33955081
Nisus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда начнем с начала - в чем проблема, кто читает файл - вы или сам компонент? Если компонент, то доступен ли его код для редактирования?
...
Рейтинг: 0 / 0
И снова проблемы с русской кодировкой!
    #33955129
aleshkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
код компонента доступен. А если сначало начинать то не могли бы вы дать пример веб-приложения которое читает текстовой файл и видает его на экран. (желательно в VB.NET)
...
Рейтинг: 0 / 0
И снова проблемы с русской кодировкой!
    #33955352
Nisus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sub ReadTextFromFile()
Dim file As New System.IO.StreamReader("c:\test.txt", System.Globalization.CultureInfo.CreateSpecificCulture("ru-RU"))
Dim words As String = file.ReadToEnd()
Console.WriteLine(words)
file.Close()
End Sub
...
Рейтинг: 0 / 0
И снова проблемы с русской кодировкой!
    #33955392
Hratchia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
Dim r As System.IO.StreamReader
r = New System.IO.StreamReader("file.txt", 
System.Text.Encoding.GetEncoding("windows-1251") )
dim s as string = r.ReadToEnd()
r.Close()




Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
И снова проблемы с русской кодировкой!
    #33955426
aleshkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему то ваш код компилироваться не хотел.

Вот пример из моего кода. Русский текст показивается только в случаи если я читаю текст из юникода с помошью FileReader

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim strError As String = String.Empty
Dim strContent As String = String.Empty
Dim filename As String

If CheckBoxUnicode.Checked Then
filename = "RU_unicode"
Else
filename = "RU_1251"
End If

If mobjLang.GetCompleteLanguageFile(filename, _
strContent, strError) = True Then
MessageBox.Text = strContent
Else
MessageBox.Text = strError
End If

MessageBox.Text += filename + ": " + mobjLang.GetString("RU", 100, "")
End Sub



Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim filename As String
If CheckBoxUnicode.Checked Then
filename = filePath + "\Report_RU_unicode.str"
Else
filename = filePath + "\Report_RU_1251.str"
End If

Dim reader As StreamReader = File.OpenText(filename)
Dim contents As String = reader.ReadLine()
contents = reader.ReadLine() + "\n<br>"
MessageBox.Text = filename + ": " + contents

End Sub
для начала хотел бы услишать ответ на вопрос как мне заставить читать фаил с кодировкой windows_1251
...
Рейтинг: 0 / 0
И снова проблемы с русской кодировкой!
    #33955526
Nisus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim filename As String
If CheckBoxUnicode.Checked Then
filename = filePath + "\Report_RU_unicode.str"
Else
filename = filePath + "\Report_RU_1251.str"
End If

Dim reader As StreamReader = StreamReader(filename, System.Text.Encoding.GetEncoding(1251))
Dim contents As String = reader.ReadLine()
contents = reader.ReadLine() + "\n<br>"
MessageBox.Text = filename + ": " + contents

End Sub

 сорри, это меня с культурой переклинило капитально, конечно же там надо передавать кодировку (ее кстати можно получить из текущей культуры, что видимо и следует делать в вашем случае - задавать нужную культуру для нитки и брать информацию из нее)
...
Рейтинг: 0 / 0
И снова проблемы с русской кодировкой!
    #33955874
aleshkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо очень помог пост. кстате есть маленькая ошибка в коде забыл new
Dim reader As StreamReader = NEW StreamReader(filename, System.Text.Encoding.GetEncoding(1251))
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / И снова проблемы с русской кодировкой!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]