富文本框字符集

时间:2009-09-20 18:43:01

标签: .net winforms character-encoding richtextbox

例如,当我在运行时将网页中的“Çamlık”复制到富文本框(表单应用程序)时,它会显示为“?aml?k”。 richtextbox控件或表单或应用程序中是否有设置来修复此问题?如果没有,那么“社会可接受的”方法是什么?

(。Net 2008)

3 个答案:

答案 0 :(得分:0)

您的文本框使用什么字体?当我在一个很小的测试程序中使用默认字体时,它可以正常工作:

using System.Windows.Forms;

class Test
{
    static void Main()
    {
        RichTextBox tb = new RichTextBox();
        Form form = new Form();
        form.Controls.Add(tb);
        Application.Run(form);
    }
}

这是从Vista上的Chrome中删除并粘贴到上面编译并从命令行运行的程序。

粘贴后,您是否立即收到的问号?你的文本框中还有其他处理吗?上述程序为您做了什么?您使用的是哪种浏览器?

答案 1 :(得分:0)

我认为这可能是因为richtextbox上的字体设置似乎不支持您粘贴的字符范围。

尝试将字体设置为支持您正在粘贴的unicode字符范围的字体。试试Arial Unicode MS&看看是否有效。

编辑:在旁注中,您正在复制文本的网站是否包含unicode内容?
该网站可能包含ASCII和&amp ;;使用特定字体为特定语言呈现它。

答案 2 :(得分:0)

如果您有自定义粘贴方法,请确保粘贴为DataFormats.UnicodeText而不是DataFormats.Text;因为后者只有ANSI才会给你'?'字符作为Unicode字符的替代。