社区
MS-SQL Server
帖子详情
求救!!!遭遇半个汉字
lzniam
2003-12-10 12:52:11
在写Sql语句时,某个字段里有半个汉字的字符串(从dbf文件读的数据),
致使Sql语句错误,
请教有什么好的方法解决这个问题呢?
...全文
75
6
打赏
收藏
求救!!!遭遇半个汉字
在写Sql语句时,某个字段里有半个汉字的字符串(从dbf文件读的数据), 致使Sql语句错误, 请教有什么好的方法解决这个问题呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zjcxc
元老
2003-12-10
打赏
举报
回复
这个你得在源数据库做好控制,不能让它生成半成汉字才行.
lzniam
2003-12-10
打赏
举报
回复
现在源数据是Dbf,目标数据库是SQl Server,不是简单的导入数据,
我做是两个系统间的一个接口程序
zjcxc
元老
2003-12-10
打赏
举报
回复
不会吧?
在你原来的数据库中处理后,再导入吧.
lzniam
2003-12-10
打赏
举报
回复
如这就是的,从pardox数据库录入时产生的
斯蒂芬啊三代钒∪∷沟俜
啊三代发军军|斯多夫所?
pengdali
2003-12-10
打赏
举报
回复
使用 Unicode 数据
Unicode 标准为全球商业领域中广泛使用的大部分字符定义了一个单一编码方案。所有的计算机都用单一的 Unicode 标准 Unicode 数据中的位模式一致地翻译成字符。这保证了同一个位模式在所有的计算机上总是转换成同一个字符。数据可以随意地从一个数据库或计算机传送到另一个数据库或计算机,而不用担心接收系统是否会错误地翻译位模式。
对于用一个字节编码每个字符的数据类型,存在的问题之一就是此数据类型只能表示 256 个不同的字符。这就迫使对于不同的字母表(例如相对较小的欧洲字母表)采用多重编码规格(或者代码页)。而且也不可能处理象日文汉字或韩国文字这样具有数千个字符的字母表。
每个 Microsoft® SQL Server™ 排序规则都有一个对表示 char、varchar 和 text 值中的每个字符定义位模式进行定义的代码页。可为个别的列和字符常量指派不同的代码页。客户端计算机使用与操作系统区域设置相关联的代码页解释字符位模式。有很多种不同的代码页。一些字符出现在某些代码页上,但并不出现在其它的代码页上。某些字符在一些代码页上用一个位模式定义,而在其它的代码页上却用另一个位模式定义。当您设计必须处理不同语言的国际性系统时,为了满足不同国家/地区的语言需求,给所有的计算机挑选代码页就变得困难了。要保证每一台计算机与使用不同代码页的系统交互时都进行正确的翻译也是困难的。
Unicode 规格通过采用两个字节编码每个字符使这个问题迎刃而解。转换最通用商业语言的单一规格具有足够多的 2 字节的模式 (65,536)。因为所有的 Unicode 系统均一致地采用同样的位模式来代表所有的字符,所以当从一个系统转到另一个系统时,将不会存在未正确转换字符的问题。通过在整个系统中使用 Unicode 数据类型,可尽量减少字符转换问题。
在 Microsoft SQL Server 中,以下数据类型支持 Unicode 数据:
nchar
nvarchar
ntext
说明 这些数据类型的前缀 n 来自 SQL-92 标准中的 National(Unicode)数据类型。
nchar、nvarchar 和 ntext 的用法分别与 char、varchar 和 text 的用法一样,但在以下方面不同:
Unicode支持的字符范围更大。
存储 Unicode 字符所需要的空间更大。
nchar 和 nvarchar 列最多可以有 4,000 个字符,而不象 char 和 varchar 字符那样可以有 8,000 个字符。
Unicode 常量使用 N 开头来指定:N'A Unicode string'。
所有 Unicode 数据都使用相同的 Unicode 代码页。排序规则不控制用于 Unicode 列的代码页,仅控制比较规则和是否区分大小写等特性。
lynx1111
2003-12-10
打赏
举报
回复
半个汉字的字符串?
贴出来看看
半个
汉字
的校验与处理(C++)
本文介绍了在C++中处理可能出现的
半个
汉字
问题,特别是在处理字符串截断时,如何避免在XML文档和SQL语句中导致解析失败或执行错误。通过提供的C++代码示例,展示了如何找到并删除
半个
汉字
,确保截断后不会产生新的
半个
汉字
。
oracle导入
半个
汉字
的问题
在数据采集过程中遇到由上游系统提供的文本文件中出现
半个
汉字
的问题,导致SQLLoader导入Oracle数据库时出现多字节字符错误。通过在UNIX环境下使用VI打开文件时发现实际为
半个
汉字
,并且在Windows环境下显示为?号。由于此问题导致的日志记录指出错误数据为含有?号的字段,因此在AIX或Oracle服务器下也遇到相同问题。解决方案包括忽略错误数据或调整字符集设置,但考虑到已有其他中文内容,直接调整字符集可能无法解决问题。最终决定不在SQLLoader中导入该字段,以免影响数据完整性。
如何在SQL Server2000中处理
半个
汉字
的问题
本文介绍了一种在 SQL Server 中处理包含
半个
汉字
数据的方法,通过创建自定义函数实现去除
半个
汉字
,确保数据完整性。
java 截取带
汉字
的字符串,
汉字
不能被截取成
半个
本文介绍了一种智能截取字符串的算法,确保在指定字节数内截取字符串时不会截断
汉字
,避免出现
半个
汉字
的情况。通过分析字符的字节长度和ASCII码特性,该算法能够准确判断并截取字符串。
半个
汉字
问题
本文解释了
汉字
由两个字节组成,ASCII编码超过127时,如何通过检测下一个字节来识别完整
汉字
还是
半个
汉字
的问题。,
MS-SQL Server
34,875
社区成员
254,639
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章