将UTF-8编码的JSON从DB解析为JS
Parse UTF-8 encoded JSON from DB into JS
我的数据库中有以下列,使用UTF-8编码的字母:
-
chineseWords
ǎnǐh o
console.log(value)给出:null
如果我将它们更改为非UTF-8,
-
chineseWords
你好
console.log(value)给出:ni hao
如果我只留下一个字
-
chineseWords
nǐ
console.log(value)给出:n?
jQuery:
function getData (functionToRun) {
$.getJSON("phpscripts.php", {"_functionToRun" : functionToRun},
function (returned_data) {
var value = returned_data.chineseWords;
console.log(value);
}
);
}
PHP: $qry =
'SELECT *
FROM tasks
WHERE npc_id_fk = 1';
$result = $mysqli->query($qry) or die(mysqli_error($mysqli));
while ($row = $result->fetch_assoc()) {
echo json_encode($row);
}
为什么浏览器会输出null
和n?
?
编辑:遵循这篇关于编码和解码UTF-8的博客,我尝试了:
console.log(decodeURIComponent(value));
//输出:n?
EDIT 2:
连接:
<?php
$mysqli = new mysqli("localhost", "root", "", "my_db");
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (Error code: " . $mysqli->connect_errno . ")... " . $mysqli->connect_error;
}
?>
我的phpscripts.php
文件开始:
<?php
include 'runDB.php';
mysql_set_charset($mysqli, "utf8");
index . php:
<!DOCTYPE html>
<html>
<head>
<title>Playground</title>
<meta charset="UTF-8">
在你的HTML Header中添加:
<meta charset="UTF-8">
在你的PHP Mysql调用添加:
mysql_set_charset('utf8',$connectToDBVar);
在db mysql_connect之后,但在查询之前
相关文章:
- 在Knockout JS中搜索从DB加载数据的项目
- JS驱动的常见问题页面的推荐DB解决方案
- 调用 db.system.js $where 中的函数
- 在Ember.js中异步从DB获取
- 如何访问 mongos db.system.js in meteor
- Express js 和 Mongo DB 数据库定义
- Sinon Not Mocking db-mysql Node.js library
- Node js + Mongo db design
- Laravel PHP-从DB到PHP再到JS到HTML的自定义JSON对象
- 可以't在使用node js将动态字段值插入mysql DB时,在发送头之后设置头
- Capybara JS测试即使在禁用事务后也无法访问DB设备
- Meteor JS:客户端没有从Mongo DB获取数据
- 在Heroku上使用Mongo.db的Node.js应用程序
- 如何在js中读取db值
- 在Node js中串在一起的各种DB调用的最佳方法
- 使用js向db插入文本时出现问题
- 为什么在JS中使用Camel Case而在DB中使用Snake Case ?
- 为什么这个node.js + mongoose代码不保存到DB ?
- 使用JS和ADO连接到本地DB的各种问题
- Node JS - DB异步调用