問題
* MySQLに「五十嵐」と登録したところ、文字化けを起こってしまった。
原因
* MySQLに「五十嵐」と登録したところ、文字化けを起こってしまった。
解決方法
* 解決方法1 : 「十」の代わりに、「十\」として登録する
* 解決方法2 : Shift_JIS を使うのをやめ、他のコードにする(UTF-8など)。
解決方法1
サンプルプログラム
<?php
/*
【前提条件】
CREATE TABLE person
(
id INTEGER NOT NULL AUTO_INCREMENT,
name TEXT NOT NULL,
PRIMARY KEY (id)
);
INSERT INTO person (name) VALUES ('五十嵐さん');
INSERT INTO person (name) VALUES ('五十\嵐さん');
SELECT * FROM person;
が登録されております。
1番目は、文字化けるけど、
2番目は、文字化けずに表示する。
*/
try
{
$connectionId = mysql_connect("XXXXX:1000", "dataBaseName", "passowrd") or die(mysql_error());
mysql_select_db('dataBaseName') or die(mysql_error());
// SQL クエリを実行
$sql = "SELECT * FROM person";
$result = mysql_query($sql) or die(mysql_error());
$count = mysql_num_rows($result);
if ($count > 0)
{
while ($row = mysql_fetch_array($result))
{
echo "id : " . $row['id'] . "<br>";
echo "Name : " . $row['name'] . "<br>";
}
echo "<br>Finished!";
exit();}
else
{
echo "\nError...";
exit();
}
// 結果セットを開放し、接続を閉じます。
mysql_free_result($result);
mysql_close($connectionId);
}
catch (Exception $e)
{
echo "Error:", $e->getMessage(), "\n";
}
?>