gpt4 book ai didi

php - 无法将中文字符插入MySQL

转载 作者:IT王子 更新时间:2023-10-29 00:30:34 29 4
gpt4 key购买 nike

cookie 使用 big5 集编码,无法插入 MySQL。你能帮我解决这个问题吗?

字段:username为eng,date1为日期,reason1为汉字。

$reason1 = $_COOKIE["reason"];
$sql2="INSERT INTO
attendance_count(username,date,count_time,appendix)
VALUES ('$username','$date1','0','$reason1')";
mysql_query($sql2);

最佳答案

创建表时使用UTF-8

create table table_name () CHARACTER SET = utf8;

插入表时使用UTF-8

set username utf8; INSERT INTO table_name (ABC,VAL);

Read More

And More

详细代码

下面的代码是经过测试的代码,请执行以下操作。

如果您已经创建了数据库,请按以下代码对其进行更改。如果您没有创建数据库,则创建它并将 Collat​​ion 设置为 utf8_unicode_ci

对于要存储中文字符的表字段,将 Collat​​ion 定义为“utf8_unicode_ci”也是如此。

ALTER DATABASE `stackoverflow` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

CREATE TABLE `stackoverflow`.`chines`
(
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`words` VARCHAR( 200 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
) ENGINE = InnoDB;
<?php

define('HOSTNAME', 'localhost');
define('USERNAME', 'root');
define('PASSWORD', '');
define('DATABASE', 'stackoverflow');

$dbLink = mysql_connect(HOSTNAME, USERNAME, PASSWORD)or die(mysql_error());
mysql_query("SET character_set_results=utf8", $dbLink)or die(mysql_error());
mb_language('uni');
mb_internal_encoding('UTF-8');
mysql_select_db(DATABASE, $dbLink)or die(mysql_error());
mysql_query("set names 'utf8'",$dbLink)or die(mysql_error());

if(isset($_POST['addWord']))
{
mysql_query("SET character_set_client=utf8", $dbLink)or die(mysql_error());
mysql_query("SET character_set_connection=utf8", $dbLink)or die(mysql_error());

$sql_query = "INSERT INTO chines(words) VALUES('".$_POST['words']."')";
mysql_query($sql_query, $dbLink)or die(mysql_error());
}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title></title>
</head>
<body>
<?php
mysql_query("SET character_set_results=utf8", $dbLink);
$sql_query = "SELECT * FROM chines";
$dbResult = mysql_query( $sql_query, $dbLink)or die(mysql_error());

?>

<form action="" method="post">

<p>Word : <input type="text" name="words" /></p>
<p><input type="submit" name="addWord" /></p>

</form>
<?php
while($row = mysql_fetch_assoc($dbResult))
{
echo $row['words']. '<br />';
}
?>
</body>
</html>

如下所示查看结果和步骤。

enter image description here

关于php - 无法将中文字符插入MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14456313/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com