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