|
Кракозябры в строке после записи-чтения в файл
|
|||
---|---|---|---|
#18+
Добрый день. Столкнулся с небольшой проблемой. 1. Сначала получаем код веб-страницы в файл с помощью WebClient. Всё в порядке. 2. Считываем код из файла в строку: Код: c# 1. 2.
На этом этапе в строке уже присутствуют непонятные символы. 3. После этого со строкой выполняются некоторые преобразования и она записывается в файл. В файле, соответственно, тоже есть кракозябры. Думаю, что ошибка возникает во 2 пункте(проверял Console.WriteLine(s1)) Пробовал у StreamReader и у StreamWriter менять кодировку на UTF-8, но это ничего не меняет. Предполагаю, что string не моет хранить некоторые utf-8-символы. кусок кода страницы <base href=" http://www.cyberforum.ru/" /><!--[if IE]></base><![endif]--> <link rel="canonical" href=" http://www.cyberforum.ru/csharp-beginners/thread1652665.html" /> <base href=" http://www.cyberforum.ru/" /> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <meta name="keywords" content="C# �������� ������ �� �������, ������ � ���� Header, C# ��� ����������, ����� �������������, ������������ �����, ����������, �����������, ����������, ����������������, ����" /> <meta name="description" content="������������, ��� ����� ������� �� ������� ����� � ���� Header, � �� ���� HTML(�������� ����� 500� ��������, ������ ������ ���������) using (HttpRequest req = new HttpRequest()) { req.Cookies = new CookieDictionary(); req.ConnectTimeout = 5000; ... C# ��� ���������� " /> <meta name="viewport" content="width=1100" /> <meta name="robots" content="noyaca" /> <meta name="robots" content="noodp" /> <style type="text/css" id="vbulletin_css"> /** * vBulletin 3.8.9 CSS * Style: '������� �����'; Style ID: 1 */ @import url(" http://www.cyberforum.ru/clientscript/vbulletin_css/style-872e15c9-00001.css"); </style> <link rel="stylesheet" type="text/css" href=" http://www.cyberforum.ru/clientscript/vbulletin_important.css?v=389" /> <script type="text/javascript"> <!-- var SESSIONURL = "s=ba2c236ea0ea46bfe47d1119dafbfd57&"; var SECURITYTOKEN = "guest"; var IMGDIR_MISC = "images/misc"; var vb_disable_ajax = parseInt("0", 10); // --> </script> <script type="text/javascript" src=" http://ajax.googleapis.com/ajax/libs/yui/2.9.0/build/yahoo-dom-event/yahoo-dom-event.js?v=389"></script> <script type="text/javascript" src=" http://ajax.googleapis.com/ajax/libs/yui/2.9.0/build/connection/connection-min.js?v=389"></script> <script type="text/javascript" src=" http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script type="text/javascript" src=" http://www.cyberforum.ru/clientscript/custom/jquery.browser.min.js"></script> <script type="text/javascript" src=" http://www.cyberforum.ru/clientscript/vbulletin_global.js?v=389"></script> <script type="text/javascript" src=" http://www.cyberforum.ru/clientscript/vbulletin_vbpost.js"></script> <script type="text/javascript" src=" http://www.cyberforum.ru/clientscript/vbulletin_post_loader.js?v=389"></script> <script type="text/javascript" src=" http://www.cyberforum.ru/clientscript/vbulletin_md5.js?v=389"></script> <link rel="alternate" type="application/rss+xml" title="CyberForum.ru - ����� ������������� � ���������� RSS Feed" href="/external.php?type=RSS2" /> <link rel="alternate" type="application/rss+xml" title="C# ��� ���������� - CyberForum.ru - RSS Feed" href="/external.php?type=RSS2&forumids=91" /> <link type="application/opensearchdescription+xml" rel="search" href=" http://www.cyberforum.ru/opensearch.xml" title="CyberForum.ru" /> <link rel="stylesheet" href=" http://www.cyberforum.ru/clientscript/vbulletin_css/geshi.css" type="text/css" media="screen" /> <link rel="stylesheet" type="text/css" href=" http://www.cyberforum.ru/clientscript/vbulletin_css/spoiler.css" /><script type="text/javascript"> var krtsts = { "bburl": " http://www.cyberforum.ru" }; Я заметил, что эти символы - русские буквы. код без кракозябр <base href=" http://www.cyberforum.ru/" /><!--[if IE]></base><![endif]--> <link rel="canonical" href=" http://www.cyberforum.ru/csharp-beginners/thread1652665.html" /> <base href=" http://www.cyberforum.ru/" /> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <meta name="keywords" content="C# Загрузка ответа от сервера, только в виде Header, C# для начинающих, форум программистов, компьютерный форум, киберфорум, сайберфорум, компьютеры, программирование, софт" /> <meta name="description" content="Здравствуйте, мне нужно грузить от сервера ответ в виде Header, а не весь HTML(которого около 500к символов, сильно грузит программу) using (HttpRequest req = new HttpRequest()) { req.Cookies = new CookieDictionary(); req.ConnectTimeout = 5000; ... C# для начинающих " /> <meta name="viewport" content="width=1100" /> <meta name="robots" content="noyaca" /> <meta name="robots" content="noodp" /> <style type="text/css" id="vbulletin_css"> /** * vBulletin 3.8.9 CSS * Style: 'Обычный стиль'; Style ID: 1 */ Веб-страница, код которой мы получаем, имеет кодировку utf-8. Что тут можно сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2017, 18:10 |
|
Кракозябры в строке после записи-чтения в файл
|
|||
---|---|---|---|
#18+
Блин, всё, ошибка ясна: Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2017, 18:13 |
|
Кракозябры в строке после записи-чтения в файл
|
|||
---|---|---|---|
#18+
ukugyul552465Предполагаю, что string не моет хранить некоторые utf-8-символы нездоровое предположение. string может хранить все кодовые точки юникода (внутренне представление utf-16) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2017, 20:56 |
|
Кракозябры в строке после записи-чтения в файл
|
|||
---|---|---|---|
#18+
ukugyul552465Блин, всё, ошибка ясна: Код: c# 1.
А иногда, во время написания, приходится в цикле перебирать все кодировки, что бы понять, какую, блин кодировку использовали создатели файла! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2017, 13:27 |
|
|
start [/forum/topic.php?fid=20&fpage=46&tid=1399966]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 20ms |
total: | 146ms |
0 / 0 |