需求:

php从数据库中读取到二维数组。传递到js中

实现步骤:

php:json_encode  →   json  →  js:eval

即在php中使用json_encode()将php的二维数组转化成json格式。传递到js中,使用eval()解析得到js的二维数组。

代码:

php:

<?php
header("Content-Type: text/html; charset=utf8") ;
$con=mysqli_connect("url","name","password","databasename");
// Check connection
if (mysqli_connect_errno($con))
echo "Failed to connect to MySQL: " . mysqli_connect_error(); mysqli_query($con,"set character set 'utf8'");
mysqli_query($con,"set names 'utf8'"); $json_arr = array(array("a","b","c",1,2,3),array("q","w",1,2));
$jsonstr = json_encode($json_arr); ? >
var json=<?=$jsonstr?>;

js:

<script type="text/javascript" src="http://.../test.php"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function(){
var jsonstr =eval(json);
for(var k=0;k<jsonstr.length;k++){
for(var i=0;i<jsonstr[k].length;i++)
alert(jsonstr[k][i]);
}
})
</script>

遇到的问题:

1.php中二维数组使用json_encode()转化成json时。第二维数组能够echo出来,可是转化成json为空。

到网上查资料确定问题是第二维数组中含有非utf8编码。果然,我把二维数组中第二维数组互换位置,变成第一个数组的json为空了。

结论:json_encode()能够转化多维数组。可是基本要求是编码为utf8。遇到多维数组中某一子数组转化json为null,极有可能使这一子数组中含有编码不是utf8的元素。

2.wamp mysql 在phpmyadmin中看到数据表内容是正常汉字。可是用php读取出来打印发现汉字都变成?了。

数据库中各个表的整理方式都是utf8_general_ci。php文件里也声明了

header("Content-Type: text/html; charset=utf-8") ;
...
mysqli_query($con,"set character set 'utf-8'");
mysqli_query($con,"set names 'utf-8'");

这些代码我一直是这么用的(之前用的是wamp低版本号。还是用的mysql_query。如今报错说废弃了,就改成了mysqli)。之前也没出现过中文变成?的情况。网上一查,原来是utf-8与utf8这个地方。。

应该是这样:

header("Content-Type: text/html; charset=utf8") ;
...
mysqli_query($con,"set character set 'utf8'");
mysqli_query($con,"set names 'utf8'");

结论:mysql中还是使用utf8吧。。。

无语。

php 二维数组传递给 js 问题解决记录的更多相关文章

  1. C++中用二维数组传参时形参该怎样写[转]

    二维数组的存储方式是和一维数组没什么区别,但是用二维数组做参数,它的形参该怎样写? 要注意的是:函数中的形参其实就相当于一个声明,并不产生内存分配,形参的目的就是要让编译器知道函数参数的数据类型. 正 ...

  2. phpcms抛出的二维数组转移到js,js中for....in遍历数组,用“.”连接来读出一维数组值

    直切正题: 1.phpcms在模版中读出数组有很多中方法,如,{pc:content action="lists"}或{pc:get sql=""},经过{lo ...

  3. 将 JSP 中数组传递给 js

    <%       String[]  name   =   { "w ", "a ", "n ", "g"}; % ...

  4. C语言学习笔记 (006) - 二维数组传参的三种表现形式

    # include <stdio.h> # include <stdlib.h> # define M # define N int getdate(int (*sp)[M]) ...

  5. c指针与数组,传参问题,指针数组与数组指针的区别,二维数组动态内存分配

    一 数组的结构:顺序存储,看谭浩强中的图,牢记 1.数组名指代一种数据结构:数组 现在可以解释为什么第1个程序第6行的输出为10的问题,根据结论1,数组名str的内涵为一种数据结构,即一个长度为10的 ...

  6. 【C/C++】二维数组的传参的方法/二维字符数组的声明,使用,输入,传参

    [问题] 定义了一个子函数,传参的内容是一个二维数组 编译提示错误 因为多维数组作为形参传入时,必须声明除第一位维外的确定值,否则系统无法编译(算不出偏移地址) [二维数组的传参] 方法一:形参为二维 ...

  7. C语言之二维数组与指针

    二维数组: ][]; 二维数组实质上也就是一维数组,a[2][3]可看做一个2个元素的一维数组,这2个元素又是另一个数组,在内存中,它的排布如下: #include "stdio.h&quo ...

  8. 关于C语言中二维数组传參————————【Badboy】

    直接上代码: #include void Fun(int *a[],int m,int n)// { printf("%d\t",*a);//[0][0] /* int e[2][ ...

  9. jquery解析php通过ajax传过来的json二维数组对象

    ajax获得php传过来的json二维数组对象,jquery解析 php代码: <?php $news = array( '武汉'=>array(1,2,3), '广州'=>arra ...

随机推荐

  1. 【Java探索道路安全系列:Java可扩展的安全架构】一间:Java可扩展的安全体系结构开始

    笔者:郭嘉 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell [ ...

  2. wampserver图标黄色

    wampserver图标黄色(多个httpd.exe服务,以前装了apache) 服务--->httpd.exe右击这个服务打开文件位置就知道是不是wampserver的服务.如果不是就停掉这给 ...

  3. HTML5特性检測

    HTML5特性检測:    1.检測全局对象:诸如window或navigator是否拥有特定的属性    2.创建元素:检測该元素的DOM对象是否拥有特定的属性    3.创建元素:检測该元素的DO ...

  4. 推测的手机型号和cpu模型

    <span style="font-size:18px;">推断手机型号:</span> <span style="font-size:18 ...

  5. 《JavaScript设计模式与开发实践》读书笔记之模板方法模式

    1. 模板方法模式 1.1 面向对象方式实现模板方法模式 以泡茶和泡咖啡为例,可以整理为下面四步 把水煮沸 用沸水冲泡饮料 把饮料倒进杯子 加调料 首先创建一个抽象父类来表示泡一杯饮料 var Bev ...

  6. C#依据进程名称获取进程的句柄?

    C#依据进程名称获取进程的句柄或C#怎样获取其它进程的句柄? 有时候标题名是动态变化的,所以不使用FindWindow方法! [StructLayout(LayoutKind.Sequential)] ...

  7. 阅读:AirBag Boosting Smartphone Resistance to Malware Infection

  8. 新书《iOS8 Swift编程指南》货架

    颐和园的新书出版. 链接:http://www.amazon.cn/dp/B00YOQSYAO 这本书从去年开始7可能开始写.今年1完成这个月的第一稿,经过多次修改,今天,最后的正式出版,欢迎大家指正 ...

  9. leetcode dfs Validate Binary Search Tree

    Validate Binary Search Tree Total Accepted: 23828 Total Submissions: 91943My Submissions Given a bin ...

  10. 【原创】只学到二维数组和结构体,不用链表也能写一个C贪食蛇?(四)

    全系列Index: [原创]只学到二维数组和结构体,不用链表也能写一个C贪食蛇?(一) [原创]只学到二维数组和结构体,不用链表也能写一个C贪食蛇?(二) [原创]只学到二维数组和结构体,不用链表也能 ...