php 怎样给mssql特殊字符,mssql特殊符号处理

在利用SELECT REPLACE(‘密水街办?’,'?’,”)发现得到的结果仍为密水街办?,没用将?去掉。

再用SELECT CHECKSUM(‘?’),CHECKSUM(”) 发现得到的结果都是0,说明二者并没有得到区分.

通过改变编码格式解决: SELECT REPLACE(‘密水街办?’ collate Chinese_PRC_BIN2,’?',”)

查看mssql支持的编码:select * from ::fn_helpcollations()

详细:

mssql默认中文的编码为:Chinese_PRC_CI_AS即:

Chinese-PRC, case-insensitive, accent-sensitive, kanatype-insensitive, width-insensitive

unicode字符集Chinese-PRC 大陆简体字,大小写不敏感,重音敏感,假名类型敏感,全角半角不敏感

_BIN 二进制排序

_CI(CS) 是否区分大小写,CI不区分,CS区分

_AI(AS) 是否区分重音,AI不区分,AS区分

_KI(KS) 是否区分假名类型,KI不区分,KS区分

_WI(WS) 是否区分宽度 WI不区分,WS区分

假名类型:平假名是日语中表音符号的一种

重音:英文单词中的重音,如 ,’a'不等同于’á’。

用得最多的是大小写是否区分,全角是否区分,默认都是不区分

可看到默认全角半角,大小写不区分,若想区分,采用编码转换

IF (‘@’ = ‘@’ collate Chinese_PRC_CI_AS_WS)

PRINT ‘y’

ELSE PRINT ‘n’

(责任编辑:mas)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值