2

WebRequest我在 C# 中有一个问题。这是一个谷歌页面。

标题说明

text/html; charset=ISO-8859-1

该网站称

<meta http-equiv=content-type content="text/html; charset=utf-8">

最后,当我使用Encoding.Default默认为System.Text.SBCSCodePageEncoding

现在我该怎么办?您有任何提示,这是如何发生的或我如何解决这个问题?

页面的实际编码似乎是 UTF-8。至少 FF 在 UTF-8 中正确显示它,而不是在 Windows-Whatever 中,也不是在 Latin1 中。

网址是这个

问题在于欧元符号以及所有德语变音符号。

提前感谢您对这个问题的帮助,这让我非常抓狂!

更新:当我通过输出字符串时

// create a writer and open the file
TextWriter tw = new StreamWriter("test.txt");

// write a line of text to the file
tw.WriteLine(html);

// close the stream
tw.Close();

一切正常。

所以问题似乎是,调试器没有显示正确的编码,也没有显示正则表达式。

如何告诉 C# 将 RegEx 处理为 UTF-8?

4

1 回答 1

1

与其解析 HTML,为什么不使用Google Query API呢?

顺便说一句,在使用正则表达式解析 HTML 之前,请阅读此内容;-)

编辑:回答您的评论:

  1. 该 API 也适用于 Google 桌面。
  2. 此编码问题是否特定于 Google 页面?
  3. 除了您现在遇到的问题,谁知道您以后会遇到什么问题,在生产中,由于这些页面的 HTML 或 Web 服务器发回的标头中的细微变化。网页应该是人眼友好的,而不是计算机友好的。您唯一可以期望友好的是页面的外观和呈现的内容,而不是底层的 HTML 结构。与应该对计算机友好的 API 不同
于 2011-02-01T11:44:00.330 回答