2012-01-20 13 views
0

MySQLデータベースに値を挿入するPHPファイルを作成しました。PHP/MySQLのエンコーディング

例について私は説明します。

include 'db_connect.php'; 
mysql_query("SET NAMES 'utf8'"); 
mysql_query("SET CHARACTER SET 'utf8'"); 
$title = 'knödel'; 
echo $title; 
$sql="INSERT INTO RECIPES (title) VALUES ('$title')"; 

データベースには「kn」があります。

私はウムラウトから文字列を切り取りました。

+1

*テーブルの文字コード*は何ですか?接続文字セット(あなたが設定したもの)*と*テーブル文字セットは、同じ値に設定する必要があります。 – Piskvor

+0

列はutf8に定義されていますか? – gview

+0

あなたのデータベースの列は 'UTF-8' – footy

答えて

1

データベースの照合順序はただやる、UnicodeまたはUTF-8の場合:

$sql="INSERT INTO RECIPES (title) VALUES (N'$title')"; 

唯一の違いは、データベースにUnicodeデータを挿入することが可能となりN文字です。

そしてあなたはにセキュリティリスクを真剣に受けなければなりません。 Sとother required actionsを併用すると、SQLインジェクションを防ぐことができます。 (現実のアプリケーションを書くときには、今のところそれを忘れてしまいます。)