PHPMSSQL扩展SQL查询中国域名解
首先,问题:数据库是MS SQLServer2000。要导入数据从一个表在SQLServer2000 mysql5,在sqlserver2000场简体中文命名(强烈建议不要在中文字段名)。事实上,操作记录SQLServer查询并将其插入到MySQL。选定的脚本语言是PHP,PHP打开MSSQL,MySQL的扩展,这是这两个数据库操作中易出现的问题。
问题出现在SQLServer。表的字段名是中文。查询用SQLSERVE返回通过记录和MSSQL扩展PHP。
互联网获取信息,互联网相关的信息不是太多,很多网友认为PHP MSSQL扩展不支持中文的SQL语句。查看信息,PHP的MSSQL是在SQL语句的中文语言支持。大部分问题出现在编码,编码问题。编码数据库和编码查询编码不统一。查询语句中的一部分已经成为sqlserver乱码,导致查询失败。
两。解决方案:
了解原因,分析问题,解决问题,是编码不统一的问题:
1、确定SQLServer数据库的编码,和我的数据编码是GBK。
2,确定当前的PHP脚本文件的编码是UTF-8编码,和我。
三.sql查询语句的编码。
补充:有网友说编码的PHP数据库的一致性和编码的脚本文件,这一步不需要,只要确保你的SQL语句和数据库编码可以是相同的,如果在你的PHP脚本中包含其他原因的PHP脚本文件不需要转换到这里的建议,转换编码都包括或需要的脚本文件,或PHP脚本编码的不统一很容易出错,如果许多相关的文件,这是一个非常棘手的问题,复杂的问题。
三。该方案:
在SQL操作之前编写一个转换SQL语句的转换函数,下面是我的示例代码:
复制代码代码如下所示:
编码转换函数
功能utf8togb(美元的){
返回iconv('utf-8 ','gbk / /忽略的); / /忽略参数被忽略的人物遭遇
}
提出了所有字段用中文别名,操作方便,编码转换的问题。
为SQL =选择{id},{柱}为typeid,{标题} { }正问题,作者作为作者,转换(文本,{体})为{第表};;
美元($ SQL语句utf8togb);