2011-08-23 103 views
1

即时通讯使用一个搜索的概念在我的应用程序,如果用户输入搜索关键字的俄文本它抛出一个异常.. asp.net,C#..如何将俄文字符串转换为西里尔字母?

如: -

如果我照耀处这个字符串,它抛出一个异常“сoгласoвания”(俄文本),所以我转换成文字像这样

“ñoãëàñoâàíèÿ”,现在它的工作原理..

“字符集= UTF8 text/html的”

我不知道如何

在HTML中,我们可以通过元标记的帮助下

元HTTP的当量=“内容类型”内容=做到这一点做在C#....

请帮我..

在此先感谢。

+0

结果是什么字符串表示?我只看到不可打印的字符。 – sharptooth

+2

啊,这很简单:'myString.Replace(“сoгласoвания”,“ñoãëàñoâàíèÿ”)'。 (好吧,开个玩笑吧,我是第二个sharptooth's和Anders的澄清要求。) – Heinzi

+1

我会说第一个字符串是西里尔字母,但是我又不是俄语。你能给我们更多的背景知道你想做什么吗?第二个字符串在哪里?你想要什么编码? –

回答

2

当然,您需要Encoding类来更改编码。查看MSDN文章末尾的示例。

+0

谢谢..我tryd,转换后的字符串是**?o ???? o ????? ** – vasmay

+2

@ vasmay那会是因为你使用了错误的编码。查看我的答案以获取更多信息。此外,+ 1使用框架类:D – Michael

+0

@迈克尔德米特里阿扎尔克维奇: - 感谢您的回复,我试过,但我没有得到正确的字符串,可以提供给我一个完整的代码..预先感谢.. – vasmay

3

使用this网站,我搞乱了文字,并得到原件。它被编码为widnows-1251,尽管还有其他编码可以工作。 (windows-1254,windows-1252,iso8859-1,iso8859-9等)

总之,如果你想得到与meta标签相同的输出,使用Encoding类进行编码)像这样初始化:

Encoding encode = new Encoding("windows-1251"); 
+0

: - 谢谢你你的答复,我试过,但我没有得到正确的字符串,你能提供我完整的代码..提前感谢 – vasmay

相关问题