赛捷软件论坛's Archiver

LiYa 发表于 2008-8-8 01:58

如何在数据库的字段值中替代字符?

<P>&nbsp;</P><P><FONT color=#d52bd5 size=3>&nbsp;X3里面的 无税 都写成 不含税, 或成本 都写成 价值,如何快速替换???</FONT></P><P><FONT color=#d52bd5 size=3>答 : <FONT color=#000000>可以在 [工具-》搜索文本] 功能里面查到全部的文本编码,再 在[功能/ 文本翻译] 界面,一个一个地改,当然很麻烦。</FONT></FONT></P><P><FONT size=3>&nbsp;在数据库里呢?? 系统的多语言 文本内容 都放在 ATEXTE 表里面。 写语句,用 replace 函数 替换 字段 texte_0 字段的内容即可。</FONT></P><P><FONT size=3>语句如下。&nbsp; Oracle 和MS SQL SERVER 均可。</FONT></P><P><FONT color=#1111ee size=3>update&nbsp; REFTEST.ATEXTE&nbsp; SET texte_0=<FONT color=#ee3d11>REPLACE</FONT>(texte_0, &#39;不含税&#39;, &#39;无税&#39;) WHERE TEXTE_0 like&nbsp; &#39;%不含税%&#39;</FONT></P><P>[此帖子已被 LiYa 在 2008-8-7 17:59:41 编辑过]</P><p>[此帖子已被 LiYa 在 2008-8-7 18:00:48 编辑过]

Jerry.huang 发表于 2008-8-8 19:25

Re:如何在数据库的字段值中替代字符?

哈哈,高危险动作。

wxwzy 发表于 2008-8-8 21:48

Re:如何在数据库的字段值中替代字符?

<P>两个问题:</P><P>1、既然发现了这种汉化的问题,还请Sage中国能够在汉化工作方面做直接的修改,尽量避免直接操作数据库;</P><P>2、我按照你的条件进行SELECT操作,可出现的结果中TEXTE_0的字段显示的都是“????”,这是什么原因?</P><P>&nbsp;</P><img border=0 src=attachments/bbsxp/2008-8/20088813489.jpg>

alger.lu 发表于 2008-8-11 02:14

Re:如何在数据库的字段值中替代字符?

<P>楼上的哥们很负责任的告诉你,你被忽悠了,MSSQL更新值为中文的话, 要在值前加N&#39;?&#39;, 呵呵。</P><P>这是X3对MSSQL默认字符集设置的问题。</P><P>&nbsp;</P>

LiYa 发表于 2008-8-12 17:53

Re:如何在数据库的字段值中替代字符?

<P>&nbsp;</P><P>是的,wxwzy 你说的所谓问题其实不是问题, 乱码 是因为数据库里面的 汉字用Unicode表示,看到的是乱码, 除非 字符串前面加 N, 比如你试试:</P><P><FONT color=#61b34d size=3>select * from REFDY.ATEXTE&nbsp; WHERE TEXTE_0&nbsp; like&nbsp;&nbsp; <FONT color=#f73809>N&#39;%税%&#39;</FONT></FONT><FONT color=#f73809> </FONT></P><P>问.SQL SERVER字符串前加N,什么含义?,<BR><SPAN style="FONT-SIZE: 12px" id=text5380214 class=javascript><FONT face=Verdana>&nbsp;&nbsp;&nbsp;请教:<BR>看到SQL SERVER自己生成的脚本,字符串前通常都加一个N字母。<BR>请问这个N说明什么含义?加与不加在SQL编写上有何影响?<BR><BR></FONT>答:<SPAN style="FONT-SIZE: 12px" id=text5380837 class=javascript><FONT face=Verdana>是Unicode编码的意思,一般来说,英文字符是一个字节组成,但是国际上的字太多了,因此就用两个字节来表示字符,满足国际化的需要.<BR></FONT></SPAN><SPAN style="FONT-SIZE: 12px" id=text5382172 class=javascript><FONT face=Verdana>if your database&#39;s collation is english collation, such as sql_latin1_general_ci_as, and <BR>if you want to input chinese characters into a nvarchar column, then you have to use<BR>N&#39;字符&#39; to input chinese.<BR>Note: &#39;字符&#39; is wrong character string for english collation, and can not be inserted into any varchar/nvarchar column</FONT></SPAN></SPAN></P>

页: [1]

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