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