$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
チェックリスト
$sql->set_charset('utf8')
接続直後。header('Content-Type: text/html; charset=utf-8');
出力の前にサーバーとクライアントの 2 つの側面が関係しています。クライアントとは、HTTP クライアントではなく、PHP スクリプトを意味します。サーバーは、クライアントが期待するエンコーディングを知る必要があります。
また、サーバー側のエンコーディングのみを設定し、mysql にどのエンコーディング データを格納する必要があるかを伝えます。
しかし、クライアントもいます。
実際、Mysql は記録に優れています。あるエンコーディングを別のエンコーディングに変換できる限り、Mysql はそれを実行できます。たとえば、さまざまなクライアントの場合。
最近ではあまり需要がありませんが、この機能は存在します。そのため、Mysql はクライアントがサポートしているエンコーディングを知る必要があります。この目的のためにset_charset()
関数が存在します。
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";
とてもシンプルです
置くだけ
mysqli_set_charset($db_connection, 'utf8');
データベース接続後。
例
$con=mysqli_connect("localhost", "root", "xxxxx","database");
mysqli_set_charset($con, 'utf8');