PHP を使用して、会社の記録のデータベースを作成しています。会社名と使用する通貨の種類のフィールドがあります。
しかし、PHP を使用すると、通貨が英ポンド記号 (£) の場合、レコードが挿入されません。ドル記号 ($) またはその他の通常の文字は問題ありません。シャープ記号の付いたレコードは、SQL ステートメントを実行して MySQL Query Browser に直接入力すると問題なく挿入されます。しかし、まったく同じ INSERT ステートメントを PHP で実行してもうまくいきません。
$sql = "INSERT INTO company_test (name, currency) VALUES ('ABC Widgets', '£')";
$rs = mysql_query($sql, $conn);
//Does not insert a record
$sql = "INSERT INTO company_test (name, currency) VALUES ('ABC Widgets', '$')";
$rs = mysql_query($sql, $conn);
//A record inserts just fine
//My MySQL version is 5.5.11. PHP is version 5.3.6.
//The MySQL table looks like this:
TABLE company_test
FIELD | id | INTEGER(10) | not null | auto increment
FIELD | name | VARCHAR(45) | not null
FIELD | currency | VARCHAR(3)
MySQL Query Browser の [Table Options] タブは、この company_test テーブルの文字セットが utf8 であることを示しています。
ありがとう。