【问题标题】:Encoding PHP/MySQL编码 PHP/MySQL
【发布时间】:2012-01-20 07:58:20
【问题描述】:

我写了一个 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';

我从变音符号中剪断了字符串。

【问题讨论】:

  • 表格的字符编码是什么?连接字符集(您已设置)表字符集都应设置为相同的值。
  • 列是否定义为utf8?
  • 你的数据库列应该是UTF-8
  • 它是 utf8_bin 但它不起作用。
  • 好的。返回并accept the useful answers 回答您之前的问题。您可能希望将您的解决方案添加为您的问题的答案并接受它。

标签: php mysql unicode encoding


【解决方案1】:

如果您的数据库排序规则是 Unicode 或 UTF-8,请执行以下操作:

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

唯一的区别是 N 字符可以将 Unicode 数据插入数据库。

并且您必须认真对待安全风险。将mysql_real_escape_stringother required actions 一起使用以防止sql 注入。 (如果你现在不这样做,你会在编写一个大型现实世界的应用程序时忘记它。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多