
正文
php写入数据库编码 php写入数据库编码怎么写
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
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';");
通过以上几步操作,基本可以保证数据库使用过程中不会出现乱码
相关问答
Q1: 请教大侠,php存入mysql数据库时汉字乱码怎么解决,文档和数据库都是utf8格式。
乱码有几个方面
首先确保数据库php写入数据库编码的编码是否正确
其次确保连接数据库的代码是否指定php写入数据库编码了正确的编码。
另外就是html页面的编码是否一致php写入数据库编码,麻烦把问题补充清楚方便排查问题。
Q2: php 如何把一条sql语句写入数据库
?php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn ){
die('连接失败: ' . mysqli_error($conn))
;}
echo '连接成功br /'; // 设置编码,防止中文乱码mysqli_query($conn , "set names utf8");
$runoob_title = '学习 Python';
$runoob_author = 'RUNOOB.COM';
$submission_date = '2016-03-06';
$sql = "INSERT INTO runoob_tbl ".
"(runoob_title,runoob_author, submission_date) ".
"VALUES ".
"('$runoob_title','$runoob_author','$submission_date')";
mysqli_select_db( $conn, 'RUNOOB' );$retval = mysqli_query( $conn, $sql );
if(! $retval ){
die('无法插入数据: ' . mysqli_error($conn))
;}
echo "数据插入成功\n";
mysqli_close($conn);
?
按照步骤开始,多看PHP手册。
Q3: 急求:PHP 中文写入数据库中文是问号,怎么解决
要配置MySqlphp写入数据库编码的编码php写入数据库编码,php写入数据库编码你看下
Q4: PHP文件链接数据库,插入数据,中文显示乱码,求高手解惑!!
你的数据库是什么编码的?默认的latin编码是不支持汉字的,改成utf8或者utf8mb4编码,然后你的PHP文件编码也使用utf8编码
php写入数据库编码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php写入数据库编码怎么写、php写入数据库编码的信息别忘了在本站进行查找喔。







