本文目录一览:
- 用php将中文写入mysql,在phpmyadmin中查看显示为乱码,求解决方法!!
- 用PHP向mysql数据库中写入中文汉字为什么显示不出来?我已经设置成gb2312了
- php向mysql写入数据中文显示怎么解决
- 用php保存到mysql数据库的中文在phpmyadmin中显示为乱码?
- PHP使用utf8插入中文数据到MySQL中文显示会乱码怎么办?
用php将中文写入mysql,在phpmyadmin中查看显示为乱码,求解决方法!!
在命令行添加的时候,如果是Windows系统,默认是GBK的,所以你先在命令行里面执行一句 set names utf8;
再添加,这样,在phpmyadmin中看就不是乱码了。
多学点编码的知识。
用PHP向mysql数据库中写入中文汉字为什么显示不出来?我已经设置成gb2312了
你说的该数据库配置文件吧?
Windows下是在mysql安装目录下的 my.ini
Linux下是 /etc/my.cnf
在 [mysqld]
下增加:
default-character-set=gb2312
都行,然后重启 MySQL。
php向mysql写入数据中文显示怎么解决
先检查MYSQL数据库的编码格式。找到MYSQL数据的安装目录,打开 my.ini
文件:
- 找到
default-character-set
,设置为utf8
(设置两个地方) - 重启 MYSQL 数据库
- 设置网页的编码格式为 UTF-8
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
在 PHP 文件中设置:
mysql_query("set names 'utf8'");
用php保存到mysql数据库的中文在phpmyadmin中显示为乱码?
你是用phpmyadmin连接数据库的时候,也选择下字符集。看你插入数据用的什么字符集,连接数据库的时候选择相同的字符集即可。
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. 字段默认编码
默认情况下,字段的编码同表的编码,但是如果修改了表的编码,字段编码不会同步修改,需要手动修改。 示例修改表编码:
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';");
通过以上几步操作,基本可以保证数据库使用过程中不会出现乱码。