MSSQL数据库中文表名和中文字段无法查询

??????? 2017-01-22 05:07:07
大佬们好,问个问题,我是用PHP里面加入数据库语句,但是表名和字段都是中文的,无法正常使用SQL语句,另外好像MYSQL和MSSQL的中文语句不大一样,在MYSQL里面加个单引号就可以查询了,在MSSQL不知道怎么写,谢谢~~~~


<!DOCTYPE HTML>
<html lang="en-US">
<head>
<title>php中mssql数据库简单查询完整实例</title>
<meta charset="utf8">
<meta name="author" content="yanue" />
<meta name="copyright" content="powered by yanue" />
</head>
<body>

<?php



$serverName = "192.168.12.3";
$connInfo = array("Database"=>"ERP2", "UID"=>"fiber", "PWD"=>"fiber");
$conn = sqlsrv_connect($serverName, $connInfo);

if($conn){
echo "连接成功";


$query = "SELECT TOP 15 * FROM '主检长度'";


$result = sqlsrv_query($conn, $query);

//打印输出

while($row = sqlsrv_fetch_array($result))
{
$e = $row[“”棒号“”];
$e = iconv("GBK", "UTF-8//ignore", $e);//为了解决中文乱码问题
echo"<table border='1px' align='center'>";
echo"<tr>";
echo"<td>";
echo $e;
echo"</td>";
echo"</tr>";
echo"</table>";
//print_r("$e");
}


//echo phpinfo();
}else{
echo "连接失败!";
die( print_r(sqlsrv_errors(), true));
}





//-----------------------------




//-------------------------------



?>
</body>
</html>
...全文
731 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
??????? 2017-01-25
  • 打赏
  • 举报
回复
谢谢大家,已经解决了, $query = "SELECT TOP 13 * FROM 主检长度;"; $query = iconv('UTF-8', 'gb2312//IGNORE', $query); 也不用非要加中括号,就是得在语句后,增加转化命名,还得尝试多种编码组合~~~谢谢大家
lyqof908 2017-01-25
  • 打赏
  • 举报
回复
想不通为什么要取中文表名?使用英文表名不是更好吗? 我觉得代码里除了注释和界面有中文外,其它应该都是英文的
zbdzjx 2017-01-24
  • 打赏
  • 举报
回复
看一下这个:http://www.jb51.net/article/31570.htm 按这个文中的说法,在执行SQL前,就要进行转换。
二月十六 2017-01-23
  • 打赏
  • 举报
回复
直接执行语句可以么?
??????? 2017-01-23
  • 打赏
  • 举报
回复
只有带中文名字的连接不上,表名或者字段名都连接不上,带下划线不带中文的可以正常连接。。。谢谢
??????? 2017-01-23
  • 打赏
  • 举报
回复
$query = "SELECT TOP 15 * FROM 主检长度"; $result = sqlsrv_query($conn, $query); 试过单引号,双引号,中括号,都不行, 服务器是mssql 2014,排序规则是Chinese_PRC_CI_AS 谢谢大家帮俺
??????? 2017-01-23
  • 打赏
  • 举报
回复
引用 3 楼 ch21st 的回复:
[quote=引用 2 楼 cclyl2011 的回复:]
[quote=引用 1 楼 yupeigu 的回复:]

mysql一般要加上单撇号,在sql server里要加上[],如:[xxx]


加了中括号,还是不行,哎~~~是不是我的数据库需要设置编码呢~~[/quote]
在你的数据仿照你的业务表用Create Table创建一个中文的表,然后从插入数据,再查询,现在客户端看看能否成功
如果有问题,你可以将你的测试数据贴出,大家可以帮你看看
没有实际的数据例子,也有可能出现你没忽略的地方[/quote]

-------------------------------------------------------------------------------------
ERP2数据库中有TABLE和VIEW,这两个都是相同问题,纯英文的都能连接上并读取,带下划线_的都连接不上,带中文的也都连接不上,求教,谢谢
卖水果的net 2017-01-22
  • 打赏
  • 举报
回复
最终传到数据库中的语句,不是正常的表名称。楼主打开 sql profiler,跟踪一下。
还在加载中灬 2017-01-22
  • 打赏
  • 举报
回复
加了中括号,还是不行,有提示什么信息吗?
道素 2017-01-22
  • 打赏
  • 举报
回复
引用 2 楼 cclyl2011 的回复:
[quote=引用 1 楼 yupeigu 的回复:] mysql一般要加上单撇号,在sql server里要加上[],如:[xxx]
加了中括号,还是不行,哎~~~是不是我的数据库需要设置编码呢~~[/quote] 在你的数据仿照你的业务表用Create Table创建一个中文的表,然后从插入数据,再查询,现在客户端看看能否成功 如果有问题,你可以将你的测试数据贴出,大家可以帮你看看 没有实际的数据例子,也有可能出现你没忽略的地方
??????? 2017-01-22
  • 打赏
  • 举报
回复
引用 1 楼 yupeigu 的回复:
mysql一般要加上单撇号,在sql server里要加上[],如:[xxx]
加了中括号,还是不行,哎~~~是不是我的数据库需要设置编码呢~~
LongRui888 2017-01-22
  • 打赏
  • 举报
回复
mysql一般要加上单撇号,在sql server里要加上[],如:[xxx]
SQLDebug是八九软件开发的一个免费的智能查询分析器,它支持Access、MSSQL、MYSQL和ORACLE数据库,它的特性有: SQL语法快速自动完成 能根据数据库类型自动补全数据库保留字、表名字段名、函数等。 强大的脚本编辑器 强大的SQL代码编辑功能,类似VS、Delphi、Java的快捷方式,如果你熟悉以上编写,编辑将会使用很顺手。 可中断的数据查询 查询数据可以随时中断,避免一查100多万条数据,程序长久没有反应。 强大的数据库结构分析 可以查看用户表、系统表、视图、存储过程、函数、用户自定义数据类型,而且表和视图可以查看:表结构、主键、外键、索引;视图和存储过程还可以查看创建SQL脚本。 强大的二次数据分析功能 对查询出来的数据进行二次分析,提供过滤,排序、查找、编辑、导出。特点:支持把字段置为null,显示每个字段的属性(完全和数据库数据类型对应),对长文本的查看,大多SQL查询器在显示很长文本,会耗尽系统资源,对空字段显示,不可编辑字段用红色字体显示,给用户显示更直观。对BLOB字段支持导入导出。 强大的数据导出功能 数据可以导出为:TXT、CSV、HTML、RTF、XLS,而且还用鼠标支持选择一部分数据导出。还支持选择表导出成Access文件,方便携带数据。 很好用的数据库结构比较和数据比较 对同种数据库之间比较表结构不同,特别适合维护几个版本的数据库,而且还可以比较两个表之间的数据。 支持同时查询几个数据库 软件采用独特的界面技术和数据库链接池技术,实现可以同时查询几个不同/相同类别的数据库
SQL2012软件简介 SQL查询器流传着很多软件,但相信此软件会有它的特别之处,本软件是经多名工程师测试。功能以及效率是有见证。本软件体积优势非常轻巧功能强大,1.4M的大小携带方便。如有建议请发邮件到75934092@qq.com,谢谢你的宝贵建议。话不多说,请看以下功能介绍! 特色功能: (一) 线程查询数据,可看查询结果完成的进度。 (二) 语句编辑强大的语法自动填充功能,可快速填充表或字段 (三) EXCEL导出后台完成。可选中语句导出EXCEL内容! 一、主功能概述 1.shift+空格 内容自动填充 2.预计表总记录数 3.预计表前N行记录 4.生成表字段以豆号分割 字段1,字段2.... 可自定义换行数量 5.显示表的详细信息,字段长度。可直接在查询结果中显示。 6.对查询内容导出EXCEL,高级结果可快速导出。后台处理不会卡程序。在导出大量的数据时可以操作其他操作。软件在导出完成后会检查EXCEL的行数完整性。可以EXCEL信息中查阅。 7.高级结果可拖放分组统计内容 8.对查询结果生成插入语句。可方便夸平台的数据插入 9.查询结果中快速定位查找内容字段位置,可模糊查找 10.可执行存储过程。执行过程中会在对应的GO中报错。可以得知是那行的错误 11.ctrl+1~5 的快捷语句记录。在使用过程中可以按对应的快捷键,在语句编号窗口中插入。临时代码记录10条。可方便用户临时记录编号语句。 12.直接对内容生成IN语句方便查询。 13.快速查询数据库中的表信息,快速查询对应的的字段,可直接筛选想要的字段内容。此功能可让使用者快速知道对应的字段类型! 14.可直接对字段列表的字段进行操作。插入,修改,删除!! 15.查询结果可以直接显示数据库的二进制图片内容 16.排量更新后台,此功能可以对当你手上有大量后台的时候不需要一个个去打开执行,只需要插入到软件的批量更新窗口中执行。执行成功会OK,编辑后再执行,直到全部OK。Ok过的不需重量执行放心! 17.文件传送。可以利用这软件传送文件。如果两个软件连到同一个SQL服务器上。此两个电脑可以互传文件了! 18.EXCEL导入数据库。可以把对应的EXCEL导入到数据库中。EXCEL头为列名。表名定义 19.远程复制,粘贴文件! 20.SQL中实用的语句帮助文档! 二、辅助功能 1.对IP或域名进行端口测试 2.获取当前外网IP地址 3.直接远程连接当前连接IP 4.网整测试当前连接的情况 注:本软件使用次数为10次,因本软件需要大家的建议。功能还在继续完善中,所以免费取得注册码!需要请发邮件或加QQ联系作者。多谢大家的支持! 联系方式:75934092@qq.com

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧