做了一个DropDownList,里面添加一项 
DropDownList.Items.Insert(0,new ListItem("Maître","0")); 里面有个特殊字符,显示到页面上就是一个“?”如何解决?

解决方案 »

  1.   


    这是什么语言的文字啊?在网页里面点右键,把编码选成那种语言看行不行,如果行的话,就是编码问题,可以把网页设置成那个编码。建议用UTF8
      

  2.   

    应该是用Encoding.Unicode 编码的方式吧http://hi.baidu.com/xyphoenix/blog/item/fbf6faf2a21c2615b07ec5ad.html
      

  3.   

    是编码的问题,一般情况下用UTF8,如果还不行的话,就用GB1312
      

  4.   

    应该是编码问题!!
    看看你的编码是否是UTF-8!!
      

  5.   

    补充一下,我的这个DropDownList是在自定义控件里的“编码转换”是在用户控件的.ascx页面里面转换还是在引用该控件的.aspx页里转换?怎么转换?
      

  6.   

    楼主的页面或代码是copy的吧
    我以前遇见过
    编号问题撒 
    utf-8
      

  7.   

    设置一下编码格式,改为UTF-8就行了
      

  8.   

    不是Copy,是我原来发过同样的贴!未果!ps:都知道是编码问题,关键是怎么解决!期待贴出代码!ps2:补充一下,我的这个DropDownList是在自定义控件里的 
    “编码转换”是在用户控件的.ascx页面里面转换还是在引用该控件的.aspx页里转换?怎么转换?
      

  9.   

    晕,在webconfig配置里面改
    <?xml version="1.0" encoding="utf-8"?>
      

  10.   

    Web.config配置文件的第一行,已经测试过了
      

  11.   

    to wangping_li:
    现在我的web.config设置就是“<?xml version="1.0" encoding="utf-8"?>”再把问题细化一下:我做了一个自定义控件a.ascx(该控件作用就是一个下拉框),在页面b.aspx里调用该控件。
    a.ascx控件的CS代码里有一句:DropDownList.Items.Insert(0,new ListItem("Maître","0")); 
    保存关闭,然后F5,把编译过的.dll文件上传,b.aspx里的该控件显示正常选项是“Maître”;
    此时,将a.ascx签入到VSS里,提示“有特殊字符可能无法存储某些信息(大概意思就这样)”;
    然后别人获取a.ascx或者重新打开a.ascx,其CS代码就自动变成DropDownList.Items.Insert(0,new ListItem("Ma?tre","0")); 搞得现在只要别人传.dll文件我就要重新打开a.ascx改一次然后再重新传.dll!这样下去也不是个事,想找一个彻底的解决办法!
      

  12.   

    你在瀏覽器中點“檢視”-->“編碼”-->“Unicode(UTF-8)”就可以了。
      

  13.   

    dropdownlist 里的项目是直接添加的还是数据库读的, 可以注意一下数据库里的类型。