1
$HotelName = "Adams’ Inn";
$ID = 1;
$stmt = $sql->prepare("UPDATE coupons SET HotelName=? WHERE ID=?");
$stmt->bind_param("si",$HotelName,$ID);
$stmt->execute();

输出:亚当斯旅馆

顺便说一句,我有以下内容:

字符集:utf8

排序规则:utf8_general_ci

4

3 回答 3

2

清单

  1. $sql->set_charset('utf8')连接后。
  2. header('Content-Type: text/html; charset=utf-8');在任何输出之前

涉及到两个方面 - 服务器和客户端。客户端是指 PHP 脚本,而不是 HTTP 客户端。服务器需要知道客户端期望什么编码。
你只设置服务器端编码,告诉mysql必须存储哪些编码数据。
但也有一个客户。

事实上,Mysql 在重新编码方面非常出色。只要一种编码可以翻译成另一种编码,Mysql就可以做到。例如,对于不同的客户。
现在对它的要求并不高,但这个功能是存在的。因此,Mysql 需要知道客户端支持哪种编码。为此目的set_charset(),存在功能。

于 2013-02-13T06:50:46.550 回答
0

您的查询中缺少SET关键字

$HotelName = "Adams’ Inn";
$ID = 1;
$stmt = $sql->prepare("UPDATE coupons SET HotelName=? WHERE ID=?");
$stmt->bind_param("si",$HotelName,$ID);
if($result=$stmt->execute())
   echo "Data Updated Sucessfully!!!";
else
   echo "Error in Update";
于 2013-02-13T06:50:40.703 回答
-1

它是如此简单

就放

mysqli_set_charset($db_connection, 'utf8');

在你的数据库连接之后。

例子

$con=mysqli_connect("localhost", "root", "xxxxx","database");
mysqli_set_charset($con, 'utf8');
于 2013-08-04T07:20:11.740 回答