PHP odbc查询SQL SERVER数据库带有中文时无返回数据
近日遇到一个小麻烦
当数据库中有中文字符数据 结果odbc_fetch_array后 我用json_encode怎么也得不到数据
页面一片空白 我脑子也一片空白
后来才知道
sqlserver 没有 UTF-8字符集?(或者说我不会弄)!!!
只能来一波曲线救国
<?php
header('Access-Control-Allow-Origin:*');
header("Content-Type:text/html;charset=UTF-8"); $con = odbc_connect('DRIVER={SQL Server};SERVER=DESKTOP-S677N58\MYNEWSQL;DATABASE=chinese','sa','W991224z');
if($con == false){
var_dump(error_log());
exit;
}
else{
$sql = "SELECT * FROM userlist";
$result = odbc_exec($con,$sql);
$arr = array();
while($userarr = odbc_fetch_array($result))
{ $userarr['username'] = iconv('GBK','UTF-8',$userarr['username']);
array_push($arr,$obj); }
echo json_encode($arr,JSON_UNESCAPED_UNICODE);
} odbc_close($con);
?>
比较重要的是那个iconv函数 把GBK变成UTF-8
我是个小白 偶尔用用php 好多东西不懂只能这么笨的写
写完以后返回的数据就是这样
[{"username":"dfasdf","userid":"1"},{"username":"asdfasdf","userid":"2"},{"username":"王","userid":"2"}]
直接放到antd的tabledata就能用
以上均为测试数据 不要在意这些细节
更多文章请移步我的个人博客,http://blog.nwctwang.top
PHP odbc查询SQL SERVER数据库带有中文时无返回数据的更多相关文章
- 向Sql Server数据库插入中文时显示乱码的解决办法 (转)
		转自:http://blog.csdn.net/wizardlun/article/details/4577658 參考:http://shareideas.blog.51cto.com/362642 ... 
- 查询Sql Server数据库对象结构
		查询Sql Server数据库对象结构 查询数据库 查询架构 查询表 查询列 查询存储过程 查询视图 1.查询某一服务器下所有数据库 select t.[name] as 数据库 from sys.d ... 
- 何查询SQL Server数据库没有主键的表并增加主键
		SQL Server数据库中,如果一个表没有主键,我们该如何查询呢?本文我们主要就介绍了如何查询数据库中没有主键的表名并为其增加主键的方法,希望能够对您有所帮助. 该功能的实现代码如下: declar ... 
- 查询SQL SERVER数据库日志工具
		在SQL SERVER中查看操作日志,一直是一个比较麻烦的事情,因为微软并没有提供直接的系统工具可以查看日志内容,虽然可以通过非正式的隐藏接口dbcc log 获取日志的非解析编码但是要还原是个非常麻 ... 
- 通过sys.objects查询SQL SERVER数据库改动内容
		适用于: SQL Server 2008 + .Azure SQL 数据库.Azure SQL 数据仓库.并行数据仓库 系统视图sys.objects,在数据库中用户定义(创建)的每个架构范围对象(例 ... 
- C#调用ODBC连接SQL Server数据库的存储过程
		OdbcConnection con = new OdbcConnection("Driver={SQL Server};server=PC-200201070359;uid=sa;pwd= ... 
- 查询SQL SERVER 数据库版本号脚本语句
		数据库直接执行此语句即可select @@version 示例: Microsoft SQL Server 2014 - 12.0.2000.8 (X64) Feb 20 2014 20:04:2 ... 
- sql server数据库将excel表中的数据导入数据表
		一般有两种方法可以实现,一种是直接写sql语句,另外一种是利用sqlserver的管理工具实现.这里介绍的是后面一种方法. 步骤: 一.准备数据 1.将excel表另存为文本格式,注意文本格式需为ta ... 
- Sql Server数据库使用触发器和sqlbulkcopy大批量数据插入更新
		需要了解的知识 1.触发器 2.sqlbulkcopy 我的用途 开发数据库同步的工具,需要大批量数据插入和数据更新. 方式 使用SqlBulkCopy类对数据进行数据批量复制,将需要同步数据的表新建 ... 
随机推荐
- zookeeper操作节点代码
			package cn.hbaf.zookeeper_api; import org.apache.curator.RetryPolicy; import org.apache.curator.fram ... 
- Android优化应用启动速度
			一.应用的启动 启动方式 通常来说,在安卓中应用的启动方式分为两种:冷启动和热启动. 1.冷启动:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动 ... 
- location中的各个属性
			http://172.16.20.218:8080/m/MGU20201126001-001/index.html?username=admin&password=123#/write 浏 ... 
- Gradle 安装记录
			Gradle 安装记录 官网 https://gradle.org/ 参考文档 https://gradle.org/install/ 下载地址 <二进制文件> <源码+文档> ... 
- PostgreSQL安装 报there has been an error.Error running
			直接用postgresql-11.2-1:https://get.enterprisedb.com/postgresql/postgresql-11.2-1-windows-x64.exe这个版本的安 ... 
- 2021-01-25 cf #697 Div3  C题(超时,换思路减少复杂度)
			题目链接:https://codeforces.com/contest/1475/problem/C 题意要求:需组成的2对,男的序号不能重,女的序号不能重 比如这例 输入: 行1--测试个数 行1` ... 
- java 竞赛常用方法
			一,基本数据类型 1.int,float.double等转换为字符串用 String.valueOf方法 eg:double转换为String Double dtDouble=12.31354; St ... 
- Java语言学习day31--8月06日
			今日内容介绍1.正则表达式的定义及使用2.Date类的用法3.Calendar类的用法 ###01正则表达式的概念和作用 * A: 正则表达式的概念和作用 * a: 正则表达式的概述 * 正则表达式也 ... 
- MySql免安装版 Error 2003 Can connect to MySQL server on ...
			现象描述:mysql只能本地登录,无法远程登录 解决方案: 1. 查看mysql端口(默认端口3306,命令端口根据需要修改),发现只有本地连接端口开放. netstat -an|findstr 33 ... 
- MySQL进阶之常用函数
			我的小站 有时候,除了简单的数据查询,我们还有一些高级的函数. MySQL 包含了大量并且丰富的函数,这套 MySQL 函数大全只收集了几十个常用的,剩下的比较罕见的函数我们就不再整理了,读者可以到M ... 
