今天在做测试的时候遇到一个问题。当WebSphere Portal Server重新启动后,原本正常显示的字符都变成问号了。后来查询数据库发现,在数据中存储的都是“?”。因为不知道WPS的字符串处理机制,一时难以断定问题所在。到底是存入的字符串有问题,还是前台的显示没有做相应的处理。后来在查看wsconfig.properties中,发现wcmencoding=的属性段,这个使我确定了,WPS在处理字符串的时候是用UTF-8来处理的。用google搜索英文sqlserver 2000显示中文的问题,结果很多提到了用nchar,和nvarchar来表示unicode值会减少问题的出现,我也想起了nchar、nvarchar、ntext和char、varchar、text的区别,于是修改xml_content字段,结果上述问题顺利解决。
![](http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=9060666507596352121&page=RSS%3A+SQLServer%E4%B8%AD%E7%9A%84%E5%AD%98%E5%82%A8Unicode%E5%AD%97%E7%AC%A6%E7%9A%84%E9%97%AE%E9%A2%98&referrer=)
![](https://i-blog.csdnimg.cn/blog_migrate/ce1a3891025962aa282fbea6d73fcd75.gif)