php数据库插入中文字符,php写入文本

用php无法将中文字符插入mysql数据库

看看是不是你的字符集合没设置对

成都创新互联公司,为您提供成都网站建设公司网站制作、网站营销推广、网站开发设计,对服务iso认证等多个行业拥有丰富的网站建设及推广经验。成都创新互联公司网站建设公司成立于2013年,提供专业网站制作报价服务,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏心悦目的作品。 与客户共同发展进步,是我们永远的责任!

如果你用的mysql网页版 ,在建立表的时候有个整合选项,你选定utf8_bin

在定义类函数连接数据库的时候加上

mysql_connect("localhost","root","password");

mysql_select_db("databasesName");

mysql_query("set names gb2312");

上面那个是国标的如果是英文程序 改成mysql_query("set names utf8");

PHP mysql 如何将从数据中读入的中文乱码转换成中文字符?

要解决乱码首先需要知道出现乱码的原因:

一、PHP+MySQL出现中文乱码的原因。

1. MYSQL数据库的编码是utf8,与PHP网页的编码格式不一致,就会造成MYSQL中的中文乱码。

2. 使用MYSQL中创建表、或者选择字段时设置的类型不是utf8,而网页编码不是utf8,也可能造成MYSQL中文乱码.

3. PHP页面的字符集与数据库的编码不一致。

4. PHP连接MYSQL数据库,操作是设定的语句指定的编码和页面编码,PHP页面编码不一致。

5. 用户提交的HTML页面编码,和显示数据的页面编码不一致 ,就肯定会造成PHP页面乱码.

二、解决中文乱码:

1. 网页编码设置。一般在HTML代码中的文件头html中加入属性:

meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″

保证,网页是"utf-8"编码。

2. PHP代码设置。在php代码的开始部分加入以下代码:

header(”Content-type: text/html;charset=utf-8″);

且要求保存的文件编码方式是utf-8,这样就保证了该文件也是utf-8编码。

3. 数据库中表的字段中存储中文的部分,要设置为utf8_general_ci类型。

4.PHP在连接数据库操作时,要设置操作的字段类型为utf8,设置方法如下:

mysql_connect(’localhost’,'user’,'password’);mysql_select_db(’db’);mysql_query(”set names utf8;”); //**设置字符集***

php连接数据库插入数据后,mysql中查询汉字字符乱码

解决乱码有几种方式:

在读取数据库的时候设置连接编码:mysql_query("set names utf8");

在读取数据库的php文件的头部加:header("Content-type:text/html;charset=utf-8");

php文件不是utf8格式的编码,需要转化。用notpad++文本编辑器打开php文件,点击菜单中的“格式”,查看是否是“以utf8 无bom格式编码”,不是的话请转成此格式。

html格式的在头部加上:meta http-equiv="Content-Type" content="text/html; charset=utf-8" /

你看看你的是哪一种情况,都对比做的一下,还不行在问我。

用PHP里的SQL语句名Mysql数据库中插入中文字符时为什么显示乱码?

只能说你的php文件默认编码和你的数据库编码不同。你可以右键单击你的工程文件-properites-text file encoding选择和和你数据库一样的编码就可以 了。

PHP使用utf8插入中文数据到MySQL中文显示会乱码怎么办?

数据库使用utf8编码,需要在操作的过程中统一全部编码。

1.数据库默认编码

CREATE DATABASE `test` DEFAULT CHARACTER SET 'utf8';

2.表默认编码

CREATE TABLE `tablea`(

`id` INT NOT NULL AUTO_INCREMENT,

`title` VARCHAR(100) NULL,

)ENGINE=InnoDB DEFAULT CHARSET=utf8;

3.字段默认编码

默认情况下,字段的编码同表的编码,但是如果修改了表的编码,字段编码不会同步修改,需要手动修改

这里修改编码测试我将utf8 改为 gb2312  ,仅用于观察修改后的情况(实际使用中可能是将gbk修改为utf8)

ALTER TABLE `test`.`tablea` CHARACTER SET = gb2312 ;

-- 修改表编码后,查看建表语句

show create table `tablea`;

-- 可以看到输出的建表语句中字段单独设置了编码

CREATE TABLE `tablea`(

`id` INT NOT NULL AUTO_INCREMENT,

`title` VARCHAR(100) CHARACTER SET utf8 NULL,

)ENGINE=InnoDB DEFAULT CHARSET=gb2312;

-- 需要手动修改字段编码

ALTER TABLE `tablea` 

CHANGE COLUMN `title` `title` VARCHAR(100) CHARACTER SET 'gb2312' NULL DEFAULT NULL ;

4.当前数据库连接的编码

连接数时设置编码

// PDO 连接

$db = new PDO('mysql:host=myhost;dbname=test', 'login', 'password', 

array(PDO::MYSQL_ATTR_INIT_COMMAND = 'SET NAMES \'UTF8\'')

); 

// mysqli连接

$link = mysqli_connect("127.0.0.1", "my_user", "my_password", "test");

mysqli_query($link,"SET NAMES 'utf8';");

通过以上几步操作,基本可以保证数据库使用过程中不会出现乱码


本文题目:php数据库插入中文字符,php写入文本
文章转载:http://scyanting.com/article/hdpgcd.html