从数据库创建到php读取json_encode中文正确显示

共识:1.首先应该确定,中文也是应该用varchar来存储的

2.测试使用MySQL语句查看字符集

show variables like "%char%";

show variables like "collatio%";

如果查看后有编码不统一(中文应用gbk或utf8支持)的地方,可以特定地修改某一项的值,例如:

SET character_set_client=‘utf8‘;

1.创建数据库

CREATE DATABASE databasename
CHARACTER SET ‘utf8‘
COLLATE ‘utf8_general_ci‘;

2.创建表

  CREATE TABLE industry_name (
                       ...
                      ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

这里与普通建表唯一不同的地方就是最后的一句话

测试看是否utf8统一

——————至此就可以在mysql查看的时候显示中文了—————-

然后想办法在php中得到中文

1.在代码前段写上

header("Content-Type: text/html;charset=utf8");

2.在connection建立以后写上

mysqli_query($connection, "SET NAMES utf8");

————至此就可以在PHP页面中显示中文了————-

最后,如果需要用到json_encode,那么需要注意最后一点

$json_string = json_encode($result_row, JSON_UNESCAPED_UNICODE);

即在普通的json_encode中多加入一个参数,至此就全部完成啦~

参考文章:

(转)Mysql中文乱码问题完美解决方案(包括建库、导入数据、网页)

彻底解决mysql中文乱码的办法

时间: 2024-08-29 16:19:15

从数据库创建到php读取json_encode中文正确显示的相关文章

grails2.3.x创建插件,gsp页面不能正确显示内容

grails2.3.x创建plugin时,默认的Config.groovy只有简单的log设置,这时候,页面添加数据之后,正确的逻辑是show新增的数据,但却变成404,需要在Config.groovy中增加以下代码: grails.mime.types = [ // the first one is the default format all:           '*/*', // 'all' maps to '*' or the first available format in wit

8天掌握EF的Code First开发系列之3 管理数据库创建,填充种子数据以及LINQ操作详解

本篇目录 管理数据库创建 管理数据库连接 管理数据库初始化 填充种子数据 LINQ to Entities详解 什么是LINQ to Entities 使用LINQ to Entities操作实体 LINQ操作 懒加载和预加载 插入数据 更新数据 删除数据 本章小结 本人的实验环境是VS 2013 Update 5,windows 10,MSSQL Server 2008. 上一篇<Code First开发系列之领域建模和管理实体关系>,我们主要介绍了EF中“约定大于配置”的概念,如何创建数据

《Entity Framework 6 Recipes》翻译系列 (4) -----第二章 实体数据建模基础之从已存在的数据库创建模型 (转)

不知道对EF感兴趣的并不多,还是我翻译有问题(如果是,恳请你指正),通过前几篇的反馈,阅读这个系列的人不多.不要这事到最后成了吃不讨好的事就麻烦了,废话就到这里,直奔主题. 2-2 从已存在的数据库创建模型 问题 有一个存在的数据库,它拥有表.也许还有视图.外键.你想通过它来创建一个模型. 解决方案 让我们设想,你拥有一个描述诗人(Poet)以及他们的诗(Poem),还有他们之间关系的数据库.如图2-7所示. 图2-7 一个关于诗人及他们的诗的简单数据库 从上图可以看出,一个诗人可能是一首或多首

php读取mysql中文数据出现乱码的解决方法

最为简单的方法就是编程访问 MySQL时,添加一行代码:mysql_query("SET NAMES 'GBK'"); 1.PHP页面语言本身的编码类型不合适,这时候,你直接在脚本中写的中文肯定是乱码,不用说数据库了. 解决方法:选择'UTF8'或者'gb2312',这样客户浏览器会自动选择并出现正确的中文显示.注意:'UTF8'或者'gb2312'都可以正确显示中文的. 2.数据库MySQL中的编码类型不正确. 解决方法:创建数据库的时候,MySQL 字符集选择'UTF8',MySQ

sql学习笔记(18)-----------数据库创建过程

手动创建数据库的步骤: 第一步:决定数据库实例的SID 数据库实例的SID用来将当前实例和以后可能创建的实例进行区分 % setenv ORACLE_SID mynewdb 第二步:建立数据库管理员认证方法 第三步:创建初始化參数文件 实例(由内存结构SAG和后台进程组成)启动过程中要读取初始化參数文件.得到初始化參数文件的一个好办法是改动一个已有的初始化參数文件.为了简化操作,将初始化參数文件放在Oracle默认的位置上.这种话.当数据库启动时,就没有必要再指定pfile參数了.由于Oracl

Unity3D_WebPlayer_PHP连接MySQL数据库_3_php登录和读取所有数据

1,PHP登录代码[login.php] 完整代码如下 <?php $name=$_POST['pname']; $password=$_POST['ppwd']; if ($name && $password){ $conn=mysql_connect("xxxxxxxx","Mysql用户名","MYsql密码") or die("SomeConstrError"); mysql_select_db(

Entity Framework应用:使用Code First模式管理数据库创建和填充种子数据

一.管理数据库连接 1.使用配置文件管理连接之约定 在数据库上下文类中,如果我们只继承了无参数的DbContext,并且在配置文件中创建了和数据库上下文类同名的连接字符串,那么EF会使用该连接字符串自动计算出数据库的位置和数据库名.比如,我们的数据库上下文定义如下: 1 using System; 2 using System.Collections.Generic; 3 using System.Data.Entity; 4 using System.Linq; 5 using System.

【原】Spring activiti 环境搭建之数据库创建

由于在开发工作流的时候,避免不了要保存一些数据和流程走向;所以在搭建Spring activiti开发环境的时候需要把官方提供的23张表创建到我们的DB,后续的流程都会在这些表中记录. 1.创建代码如下: @Test public void createactivityTable(){ ProcessEngineConfiguration p = ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration(

数据库表的创建、管理和数据操作(实验一),数据库创建

数据库表的创建.管理和数据操作(实验一),数据库创建 今天我们就以实验的形式对表的创建.管理和数据操作进行学习,上课吧. [实验目的]:了解SQL语言的使用,进一步理解关系运算,巩固数据库的基础知识.[实验要求]:利用SQL语言进行数据库表的各种操作:1.数据库表的创建.修改和删除操作.2.向表中进行数据的插入.删除和修改操作.[实验内容]1. 利用数据定义语句在实验一创建的stu_DB库中建立学生管理系统的三个表:Student.Course.SC.2.利用INSERT.UPDATE和DELE