さくらインターネットのMySQLの文字化け対策
フォームからデータベースにミュージシャン名を登録し、全項目を表示するプログラムを作っていたところ、文字化け発生。結局は
DB接続後以下のクエリーで文字コードを指定してやると良い。selectの際にも必要。
[code]
mysql_query( "set names utf8");
[/code]
ついでにコードは、
入力用html
[code]
<html>
<body>
<form action="insert.php" method="post">
<input type="text" name="name" />
<input type="submit" />
</form>
</body>
</html>
[/code]
入力用のinsert.php
[code]
<?php
$con = mysql_connect("サーバー名","ID","パス");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
//mojibaketaisaku
mysql_query( "set names utf8");
mysql_select_db("DB名", $con);
$sql="INSERT INTO テーブル名 (name) VALUES ('$_POST[name]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con)
?>
[/code]
表示用のselect.php
[code]
<html>
<body>
<?php
$con = mysql_connect("サーバー名","ID","パス");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
//mojibaketaisaku
mysql_query( "set names utf8");
mysql_select_db("DB名", $con);
$result = mysql_query("SELECT * FROM テーブル名");
while($row = mysql_fetch_array($result))
{
// echo "<a href=\"http://xsearch.photon-lab.net/index.php?key=$row['name']\">$row['name']</a>";
echo "<a href=\"http://xsearch.photon-lab.net/index.php?key=";
echo $row['name'];
echo "\">";
echo $row['name'];
echo "</a>";
echo "<br>";
}
mysql_close($con);
?>
</body>
<html>
[/code]
札幌パソコンサポート、札幌パソコン修理、札幌パソコントラブル
パソコンのトラブル、操作、設定、導入などで困ってこのページをご覧になっている方、電話にてお気軽にお問い合わせください。(対象地域:札幌 江別 小樽 石狩 岩見沢 余市 倶知安 岩内 後志 道央)概算を見積もり後、迅速に出張修理させていただきます。番号通知でお願いします!!!事務所 0134-32-4971 / 9:30-18:00