环境: Win2000 + SQLServer2k + VC++6.0
问题描述:
  在SQLServer数据库环境中, 对于表名称/字段名称来说, 全角半角是等同的.例如:
  step-1: create table "ABC"(field char(1))
  step-2: select * from ABC
  step-3: select * from ABC
  以上的步骤2,3查询的是同一个数据库表对象的内容。
  
要求:
  工作中碰到与表名判断相关的问题。请叫大虾全角半角转换的方法!谢谢。

解决方案 »

  1.   

    会等同?中文字体中半角字符有限,不超过128个,你就直接做两个表查询就可以了,最好使用CMapStringtoString m_Map;
    m_Map["A"]="A";
    类似于这样子
      

  2.   

    多谢回复。(还是5星级的虾!!!)
    1。测试过,确实等同。
    2。某种程度上,按照你的建议,使用CMapStringtoString类确实可以解决问题,但是可能发生半/全角字符映射不全面的情况。
    3。另外,因为还要面对其他语言(英文,日文),所以还需要对应这两种环境下的半/全角字符映射问题。
     
    请问有没有可能按照各种语言的半/全角字符的编码规则来解决这个问题。
    我没有搜索到有关全角半角字符的编码规范。忘指点。