特殊字符问题,请高手赐教!思归,孟子大哥们请帮帮我 £ 如何转成"£"这样,如果用c#程序来转应该怎么写这段代码?请高手赐教!谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用Replace函数替代应该就可以了吧 htmlencode(yourchar ,encoding ) 方法一:string str = "1£2";str = System.Web.HttpUtility.HtmlEncode(str);Console.WriteLine(str);str = System.Web.HttpUtility.HtmlDecode(str);Console.WriteLine(str);Console.Read();方法二:string str = "1£2";str = str.Replace("£", "£");Console.WriteLine(str);str = str.Replace("£", "£");Console.WriteLine(str);Console.Read(); ^o^ 若使用方法一, 则需引用 System.Web.dll ... System.Web.HttpUtility.HtmlEncode(yourstring); System.Web.HttpUtility.HtmlEncode(yourstring);这样不行,还有没有其它办法? 实测了一下,System.Web.HttpUtility.HtmlEncode()只能编码<>之类的符号:"1<£>2" -> "1<£>2"关注,期待更好的方法。 using System;using System.Text;using System.Collections.Generic;class Test{ static Dictionary<char, string> htmlChar; static Dictionary<char, string> HtmlCharInit() { htmlChar = new Dictionary<char, string>(); htmlChar['£'] = "pound"; htmlChar['‰'] = "permil"; // 还有更多符号 ... return htmlChar; } static string MyHtmlEncode(string s) { StringBuilder sb = new StringBuilder(); foreach (char c in s) { string t; if (htmlChar.TryGetValue(c, out t)) sb.AppendFormat("&{0};", t); else sb.Append(c); } return sb.ToString(); } static void Main() { HtmlCharInit(); string str = "1<£‰¤>2"; Console.WriteLine(str); str = System.Web.HttpUtility.HtmlEncode(str); str = MyHtmlEncode(str); Console.WriteLine(str); }}/*程序输出:1<£‰¤>21<£‰¤>2*/ 从上面的程序看,System.Web.HttpUtility.HtmlEncode()可以转换'¤'为"¤"。先用System.Web.HttpUtility.HtmlEncode()转换一下,只要System.Web.HttpUtility.HtmlEncode()能转换的,就不必加到htmlChar字典中了。 htmlChar['£'] = "pound"; htmlChar['‰'] = "permil"; 楼上的这样行不通啊,问题是其它一些字符转换后(即等号右边的那部分)是不知道的, GridView SQL2000 连接出现问题,重新启动电脑有好了??? 同时停车的问题请教 如何将Exce中与Sql中的某张表对应字段的数据添加到该表中 通过一个控件的名字的字符串,如何快速获取到这个控件? 数据库操作 UDP通信一定需要端口号吗?不使用端口号可以吗? 求存储过程和c#代码,麻烦各位了 c#读取XML在遇见中文字符的时候报错? Label多行打印问题 NET Framework 创建IIS站点后,创建应用程序无效的问题 c#大项目中大表关联!
这样不行,还有没有其它办法?
using System.Text;
using System.Collections.Generic;class Test
{
static Dictionary<char, string> htmlChar;
static Dictionary<char, string> HtmlCharInit()
{
htmlChar = new Dictionary<char, string>();
htmlChar['£'] = "pound";
htmlChar['‰'] = "permil";
// 还有更多符号 ...
return htmlChar;
}
static string MyHtmlEncode(string s)
{
StringBuilder sb = new StringBuilder();
foreach (char c in s)
{
string t;
if (htmlChar.TryGetValue(c, out t)) sb.AppendFormat("&{0};", t);
else sb.Append(c);
}
return sb.ToString();
} static void Main()
{
HtmlCharInit();
string str = "1<£‰¤>2";
Console.WriteLine(str);
str = System.Web.HttpUtility.HtmlEncode(str);
str = MyHtmlEncode(str);
Console.WriteLine(str);
}
}
/*
程序输出:
1<£‰¤>2
1<£‰¤>2
*/
htmlChar['‰'] = "permil";
楼上的这样行不通啊,问题是其它一些字符转换后(即等号右边的那部分)是不知道的,