我有一个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页面及其代码隐藏页面,但发现文本框中显示的字符没有变化。
请帮忙。
答案 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()