asp:文本框显示问号而不是汉字/日文字符

时间:2011-05-06 06:03:54

标签: asp.net

我有一个aspx页面,它使用Siebel Web服务并根据需要从Siebel获取汉字字符。这显示为aspx文本框中的一系列问号。这可能不是来自后端的数据错误,因为其他应用程序从Siebel获取正确的汉字字符。另外,我从控制面板安装了东亚语言,并在Internet Explorer 7的“语言”选项卡下添加了[ja-Jp]语言。此外,我已添加     全球化请求编码=“Shift-JIS”responseEncoding =“Shift-JIS” 到我的web.config并尝试在上面的行中将'Shift-JIS'更改为'utf-8',但没有区别。我还使用Unicode(带签名的utf-8)编码保存了我的aspx页面及其代码隐藏页面,但发现文本框中显示的字符没有变化。

请帮忙。

2 个答案:

答案 0 :(得分:0)

从服务器端,您需要做的就是确保从具有正确数据的Web服务获取.NET字符串并将字符串分配给文本框。

这显然是客户端的问题 - 最可能的原因是您为网页/文​​本框选择了错误的字体(通过CSS或浏览器设置)。如果font不支持unicode字符,那么它会显示?所以尝试改变字体。

答案 1 :(得分:0)

window.open()显示了之前显示为一组问号的汉字字符。但是,由于window.open()是Asynchronous,我遇到了另一个严重的问题。在window.showModalDialog中,执行是同步的,因此window.ShowModalDialog()之后的任何语句都会等到对话窗口被用户解除。 所以现在面临的挑战更加困难,因为我必须将同步行为带到window.open(),这使事情变得更复杂。

最后,我找到了解决这两个问题的方法。我使用了Javascript方法escape()。现在显示的是汉字字符而不是问号,更重要的是,它可以与window.showModalDialog()一起使用。

语法:escape()