Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用cliente.DownloadString(url);给出奇怪的正方形符号c.NET3.5_C#_Webclient_Symbols - Fatal编程技术网

C# 使用cliente.DownloadString(url);给出奇怪的正方形符号c.NET3.5

C# 使用cliente.DownloadString(url);给出奇怪的正方形符号c.NET3.5,c#,webclient,symbols,C#,Webclient,Symbols,我使用webclient从网站获取源html代码,并将html放入文本框中 但出于某种原因,在文本框中我得到了一个奇怪的符号 using (WebClient cliente = new WebClient()) { textbox.Text = cliente.DownloadString(url); } 我正在使用c.NET3.5 这些是不可打印的新行字符的表示 试一试 我认为这是一个与编码有关的问

我使用webclient从网站获取源html代码,并将html放入文本框中

但出于某种原因,在文本框中我得到了一个奇怪的符号

      using (WebClient cliente = new WebClient())
            {
                textbox.Text = cliente.DownloadString(url);
            }
我正在使用c.NET3.5


这些是不可打印的新行字符的表示

试一试


我认为这是一个与编码有关的问题。 您的字符串是utf-8编码的吗

您需要将webclient编码设置为等于网页编码如果您管理网页,将其设置为utf-8是更好的解决方案

然后,我想你不会再得到不好的方块了,但是我不知道文本框使用的编码,这可能是一个问题,我再次假设他们使用utf-8,不知道他们是否是可配置的

编辑:

没有看到您的评论,是的,我肯定认为这些方块是\r\n字符,可能写在页面上的编码与uft-8不同,所以这不是您的错,但这是网页开发人员造成的问题


&ACURE无法转换,必须替换为字符串。替换为所需内容&ACURE被html用于显示一些特殊字符

它们似乎确实是回车符和换行符\r\n您没有问任何问题,只是说了发生了什么。你认为会发生什么?我想要换行符,而不是正方形和重音&尖锐。这不是换行符或回车符,TextBox已经在处理这些了。在调试器中使用textBox.Text.tocharray查找字符代码。是的,网站使用utf8编码,因此我使用此客户端。Encoding=Encoding.utf8;但我还是得到了正方形,而不是换行符。正如我在编辑中所写的,我认为这些换行符是用一个不使用utf-8的编辑器写在utf-8网页上的。这是一个大问题,因为您不知道原始编码:\n我使用了所有这些,但没有成功的客户。encoding=encoding.UTF7;cliente.Encoding=Encoding.UTF8;cliente.Encoding=Encoding.UTF32;cliente.Encoding=Encoding.Unicode;cliente.Encoding=Encoding.ASCII;cliente.Encoding=Encoding.Default;也许他们使用了一些iso某物编码,但我真的不知道如何发现这一点,对不起,解决方案是使用richtextbox代替textbox,或者像这样替换textbox SingleLine中的方形字符。Text=texbox.Text.ToString.Replacetbsquaresymbol.Text,Environment.NewLine;是 啊
 textBox.Multiline = true; 
 using (WebClient cliente = new WebClient())
 {
      textbox.Text = cliente.DownloadString(url);
 }