データベースに「Rhône」という文字列を挿入すると、残っているものはすべて「Rh」です これはどのように可能ですか? utf8_general_ciエンコーディングでMysqlを使用していますか?mysqlデータベースにôを挿入するとRhôneの一部になります
<?php
header('Content-Type: text/html; charset=utf-8');
?>
<!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-gb" lang="en-gb">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Decode</title>
<head></head>
<body>
<?php
include_once ($_SERVER['DOCUMENT_ROOT'] . '/v3/functions/connect.php');
$res_id = $_POST['res_id'];
$yr_id = $_POST['yr_id'];
$yr_id=html_entity_decode($yr_id, ENT_COMPAT, "UTF-8");
if(isset($yr_id) && $yr_id<>'') {
$search = array('%C3%B4');
$replace = array('ô');
$yr_id=str_replace($search, $replace, $yr_id);
mysql_query("SET NAMES utf8");
$uQuery2="UPDATE sv_snowrepublic set yr_id='$yr_id' where res_id=$res_id limit 1";
$uResult2 = mysql_query($uQuery2);
echo 'updated';
}
$uQuery1="SELECT * FROM sv_snowrepublic where res_id=$res_id limit 1";
$uResult1 = mysql_query($uQuery1);
$row1 = mysql_fetch_assoc($uResult1);
if (mysql_num_rows($uResult1) >= 1 && isset($res_id) && $res_id>2)
{
echo "<form method='POST' action='index.php'>";
echo "<input type='hidden' size='4' value='" . $row1['res_id'] . "' name='res_id' /><br />";
$yr2_id=$row1['yr_id'];
// $yr2_id=html_entity_encode($yr2_id, ENT_COMPAT, "UTF-8");
echo mb_detect_encoding($yr2_id);
echo "<input type='text' size='200' value='" . $yr2_id . "' name='yr_id' /><br />";
echo "<br /><label for='submit'></label><input type='submit' name='submit' value=' Send '></form>";
}
?>
</body>
</html>
コードを表示してください。 –