赛捷软件论坛's Archiver

LiYa 发表于 2009-2-25 02:02

V5 的 收藏夹的中文 为何显示问号??

<P>如题。 谁遇到的,如何解决,请 给个回复。谢谢。</P><P>提示,是否同 数据库的排序方式不是 &nbsp;Latin1_General_BIN 有关系??</P>

tansj 发表于 2009-2-25 05:58

Re:V5 的 收藏夹的中文 为何显示问号??

<P>Liya遇到的情况应该是MS SQLServer吧?我在Oracle中没有遇到过。</P>

dannis 发表于 2009-2-25 07:17

Re:V5 的 收藏夹的中文 为何显示问号??

我没有遇过这种现象,但是我认为同数据库的Latin1_General_BIN排序有关,我的排序是Chinese_PRC_BIN

sage2009 发表于 2009-2-25 18:32

Re:V5 的 收藏夹的中文 为何显示问号??

SQL数据库排序规则错误。

luoxiong 发表于 2009-2-25 18:34

Re:V5 的 收藏夹的中文 为何显示问号??

<P>的确是数据库排序规则错误。</P>

Jerry.huang 发表于 2009-2-25 22:32

Re:V5 的 收藏夹的中文 为何显示问号??

<P>Liya&nbsp;&nbsp; , 就是你说的问题。解决方法有一个:不动数据库,直接修改SQL SERVER 2000的排序规则能解决此问题,但带来的恶果是在SQLSERVER 再也打不开表结构。我就是这样的,哈哈。</P><P>&nbsp;</P>

tansj 发表于 2009-3-5 18:49

Re:V5 的 收藏夹的中文 为何显示问号??

<P>大家可以打开console,在solution页面上面有一个database scripts,点这个可以看到console创建数据库时所使用的sql语句。在创建数据库时配置程序自动将排序规则限制为了lartin,故adonix数据库的排序规则自建好后就默认为lartin了。</P><P>关于此问题,我想到了解决办法,但是需要装了sqlserver2000的同学帮我做小白鼠,哈哈。</P><P>貌似如果安装sqlserver2005中文版就不会有这个问题。</P><P>我的解决思路:</P><P><BR>1、更改数据库排序规则;<BR>use master;<BR>ALTER DATABASE adonix COLLATE Chinese_PRC_CI_AS</P><P>2、读取所有表:<BR>Select <BR>&#39;alter table &#39;,sysobjects.name As Tb_name,&#39; alter column &#39;,<BR>syscolumns.name As Colu_name, <BR>systypes.name As Col_type, &#39;(&#39;,<BR>syscolumns.length/2 As Col_len,&#39;) collate Chinese_PRC_CI_AS;&#39;<BR>from sysobjects,systypes,syscolumns<BR>where sysobjects.xtype =&#39;U&#39;<BR>and sysobjects.id = syscolumns.id and <BR>&nbsp;&nbsp;&nbsp; systypes.xtype = syscolumns.xtype and <BR>&nbsp;&nbsp;&nbsp; systypes.name &lt;&gt; &#39;sysname&#39; and <BR>&nbsp;&nbsp;&nbsp; sysobjects.name Like &#39;%&#39; AND systypes.name=&#39;nvarchar&#39;<BR>union<BR>Select <BR>&#39;alter table &#39;,sysobjects.name As Tb_name,&#39; alter column &#39;,<BR>syscolumns.name As Colu_name, <BR>systypes.name As Col_type, &#39;(&#39;,<BR>syscolumns.length As Col_len,&#39;) collate Chinese_PRC_CI_AS;&#39;<BR>from sysobjects,systypes,syscolumns<BR>where sysobjects.xtype =&#39;U&#39;<BR>and sysobjects.id = syscolumns.id and <BR>&nbsp;&nbsp;&nbsp; systypes.xtype = syscolumns.xtype and <BR>&nbsp;&nbsp;&nbsp; systypes.name &lt;&gt; &#39;sysname&#39; and <BR>&nbsp;&nbsp;&nbsp; sysobjects.name Like &#39;%&#39; AND systypes.name&lt;&gt;&#39;nvarchar&#39;<BR>order by sysobjects.name,syscolumns.name</P><P>这一段sql的功能是把syscolumns里面所有类型为varchar/nvarchar的字段读出来,把各字段的排序规则改为Chinese。</P><P>为什么要这样做?</P><P>第一步:修改数据库的默认排序规则,这样后续这个db中新建的表都将按照新的排序规则来执行;</P><P>第二步:系统中原有表的排序规则也要改。因为事实上我们新建表的机会不会太多,修改现有的才是最重要的。</P><P>注意:在使用下面一段sql进行排序规则读取和修改的时候,应注意字段是否为空的设置,这个属性也应该带进去。这个设置是在syscolumns.isnull什么的,可以看看syscolumns这个表。</P><P>关于alter table修改排序规则的sql语法可以参考sqlserver 查询分析器的说明。</P><P><FONT color=#ff0000>很重要一点:</FONT></P><P><FONT color=#ff0000>现在MS已经停止销售sqlserver2000转而推sqlserver2005,我们的客户中使用2000的好像已不太多,基本上已经全部转到2005/oracle后台,更多使用sqlserver2000的是我们自己内部的顾问。这个修改是否有必要继续研究下去还有待商榷。建议有此现象的同学干脆下手狠一点,花点精力把机器重新弄一下,更新到2005/oracle上面来。</FONT></P><P>欢迎拍砖。。。。</P><p>[此帖子已被 tansj 在 2009-3-5 10:53:25 编辑过]

zhihui.chen 发表于 2009-3-5 19:40

Re:V5 的 收藏夹的中文 为何显示问号??

<P>SQL2005如果排序规则是Latin1_General_BIN ,也还是显示问号????。</P><P>看来的确是排序规则的问题。</P>

zhihui.chen 发表于 2009-3-5 19:50

Re:Re:V5 的 收藏夹的中文 为何显示问号??

<blockquote><img border=0 src=images/icon-quote.gif> <b>zhihui.chen:</b><br><P>SQL2005如果排序规则是Latin1_General_BIN ,也还是显示问号????。</P><P>看来的确是排序规则的问题。</P><P></blockquote></P><P>2005修改数据库排序规则很方便,不用研究语句了。数据库--属性---选项修改即OK</P>

tansj 发表于 2009-3-6 02:13

Re:Re:Re:V5 的 收藏夹的中文 为何显示问号??

<blockquote><img border=0 src=images/icon-quote.gif> <b>zhihui.chen:</b><br><BLOCKQUOTE><IMG src="images/icon-quote.gif" border=0> <B>zhihui.chen:</B><BR><P>SQL2005如果排序规则是Latin1_General_BIN ,也还是显示问号????。</P><P>看来的确是排序规则的问题。</P><P></P></BLOCKQUOTE><P></P><P>2005修改数据库排序规则很方便,不用研究语句了。数据库--属性---选项修改即OK</P><P></blockquote></P><P>修改数据库的排序规则会同步更新到现有的表字段的排序规则吗?可以把sqlserver的建表sql导出来研究下。我这没有sqlserver2005环境,谁有的麻烦看下。</P>

zhihui.chen 发表于 2009-3-7 19:22

Re:V5 的 收藏夹的中文 为何显示问号??

没有同步更新表字段的排序规则,只在该字段的扩展属性中看到了新改变的排序规则。

LiYa 发表于 2009-3-10 19:20

Re:V5 的 收藏夹的中文 为何显示问号??

谢谢大家的热心解答。 很希望能将这里变成一个实用的知识库。

扶程星云 发表于 2010-1-20 22:12

Re:V5 的 收藏夹的中文 为何显示问号??

<P>oracle下帐套导入到sql2005后,如果收藏乱码也要在数据库中修改排序规则。</P><P>如果出现排序错误,请在数据库修改成中文排序规则后,再把帐套导入一次即可正常,估计是导入的时候重新对数据进行排序了!</P><p>[此帖子已被 扶程星云 在 2010-1-25 17:11:42 编辑过]

tansj 发表于 2010-3-30 07:54

Re:V5 的 收藏夹的中文 为何显示问号??

<IMG src="http://www.sagesoft.cn/bbs/images/Emotions/28.gif">

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.