xml地图|网站地图|网站标签 [设为首页] [加入收藏]
中文字符串编译后成乱码,用Python爬取美丽cosp
分类:编程

(2015年8月5日更新:微软已经修复了Roslyn的这个bug,详见 )

图片 1

TextTabBar控件

昨天,我们用VS2015编译了博客程序中的一个程序集并发布上线。

作者:叶耀荣
源自:

一、          样式一

今天有园友反馈向我们反馈,个人博客分页显示随笔列表的页面中,“上一页”“下一页”显示乱码:

不知道有没有小哥哥、小姐姐喜欢cosplay的,今天小编就分享一个关于爬取cosplay图片,emmmm,先来几张图活跃一下气氛!

 图片 2

图片 3

图片 4

我们要实现上图中的效果,需要如下的操作:

而这个地方的“上一页”“下一页”字符串恰恰是在我们昨天发布的程序集中定义的:

 

  1. 从工具栏上的“Smobiler Components”拖动一个TextTabBar控件到窗体界面上
public class Pager : Control
{
    protected string PreviousText = "上一页";
    protected string NextText = "下一页";

    //...
}

图片 5

 图片 6

可是昨天我们并没有更改这部分代码,肯定不是我们昨天代码修改引起的。

 

  1. 修改TextTabBar的属性
    1. BackColor属性

于是,我们改用VS2013重新编译了一下这个程序集,更新之后,乱码立马消失。

图片 7

设置控件的背景色为“18, 183, 245”,如图1;

接着,用ILSpy反编译了VS2015所编译出的程序集的IL代码之后,真相大白:

 

 图片 8

public class Pager : Control
{
    protected string PreviousText = "ÉÏÒ»Ò³";
    protected string NextText = "ÏÂÒ»Ò³";
    //...
}

咳咳咳.....接下来咱们就进入正题!

图 1设置界面

原来是VS2015所用的编译器惹的祸,而这个编译器就是大名鼎鼎的 Roslyn 。

首先,进入半次元,点击COS,热门推荐

  1. Border属性

大家使用 Visual Studio 2015 时需要注意一下这个问题。

图片 9

设置控件边框,将该属性设置为“1,1,1,1”,如图 2;

【补充】

 

 图片 10

用ildasm查看VS2015编译出来的程序集的IL代码(乱码):

点击F12,可以看到开发者工具窗口

图 2设置界面

.maxstack  2
IL_0000:  ldarg.0
IL_0001:  ldstr      bytearray (C9 00 CF 00 D2 00 BB 00 D2 00 B3 00 ) 
IL_0006:  stfld      string BlogServer.Web.Controls.Pager::PreviousText
IL_000b:  ldarg.0
IL_000c:  ldstr      bytearray (CF 00 C2 00 D2 00 BB 00 D2 00 B3 00 ) 
IL_0011:  stfld      string BlogServer.Web.Controls.Pager::NextText

图片 11

  1. BorderColor属性

用ildasm查看VS2013编译出来的程序集的IL代码(未乱码):

 

设置控件边框颜色,将该属性设置为“White”,如图 3;

.maxstack  2
IL_0000:  ldarg.0
IL_0001:  ldstr      bytearray (0A 4E 00 4E 75 98 )                               // .N.Nu.
IL_0006:  stfld      string BlogServer.Web.Controls.Pager::PreviousText
IL_000b:  ldarg.0
IL_000c:  ldstr      bytearray (0B 4E 00 4E 75 98 )                               // .N.Nu.
IL_0011:  stfld      string BlogServer.Web.Controls.Pager::NextText

我们以第一张COS照片的代码进行分析....额...第二张好看,还是从第二张开始吧。

图片 12 

【问题原因与临时解决方法】

红框里面就是这张图片的html代码,然后我们以正常访问方式点击图片进入网页,可以看到这张图片分辨率更高。

图 3设置界面

在GitHub上提交Issue之后,从回复中得知这个问题与Roslyn检测文件编码的处理方式有关。

图片 13

  1. BorderRadius属性

查看出现乱码问题的.cs文件编码,发现用的是ANSI编码。于是以UTF-8编码另存该文件,然后用VS2015重新编译,问题解决。

 

设置控件边框的角度,将该属性设置为“5”,如图 4;

本文由澳门新葡亰手机版发布于编程,转载请注明出处:中文字符串编译后成乱码,用Python爬取美丽cosp

上一篇:打印开发中关于打印协议,中文字符串编译后成 下一篇:没有了
猜你喜欢
热门排行
精彩图文