首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用StreamReader阅读外语网页

用StreamReader阅读外语网页
EN

Stack Overflow用户
提问于 2011-11-05 00:00:14
回答 1查看 553关注 0票数 0

我正在尝试获取一个混合了英语和韩语的网页。浏览器可以很好地获取和显示页面,但当我尝试以编程方式获取页面时,我无法正确显示韩文字符。

我知道你可以在StreamReader中指定一个编码,但是我还没有找到一个可以工作的。

这是我用来读取响应的代码:

代码语言:javascript
复制
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(response.CharacterSet));

response.CharacterSet返回UTF8。我还尝试了所有的基本编码选项-- ASCII、BigEndian、Default、Unicode、UTF32、UTF7和手动添加Encoding.UTF8。

我也尝试过通过CultureInfo来实现这个功能:

代码语言:javascript
复制
CultureInfo kr = CultureInfo.GetCultureInfo("ko");
StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(kr.TextInfo.ANSICodePage));

同时使用"ko“和"ko-KR”。我从所有这些不同的类型中得到了不同的结果,但没有一个是正确的。

我还尝试了直接使用代码页:

代码语言:javascript
复制
StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(949));

response.ContentEncoding返回空字符串。我的想法快用完了。

编辑:这是我所期待的一个例子:

프로젝트:

这就是我得到的:

代码语言:javascript
复制
        //ASCII == ??????
        //BigEndian == ़汩湫â¨ç‰¥æ˜½âˆ¯æ©³â½¤ç°æ”
        //Default == íâ€â€žÃ«Â¡Å“ì Â트:
        //Unicode == íâ€â€žÃ«Â¡Å“ì Â트
        //UTF32 == ���������ï
        //UTF7 == 프로ì Â트
        //UTF8 == 프로ì 트
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-05 00:09:51

FWIW:流阅读器可能不会很好地工作。

更喜欢使用HttpWebRequest Class来做浏览器请求(否则当你得到302个响应或者get压缩和/或分块编码时,你很快就会开始感到抱歉)

我将其提升为一个答案,因为它很可能就是您已经遇到的问题。当然,我不知道你得到的回应是什么样的

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8012169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档