php - PHP/MySQL 编码

标签 php mysql unicode encoding

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

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

最佳答案

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

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

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

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

关于php - PHP/MySQL 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8938318/

相关文章:

php - 将波斯/阿拉伯数字转换为英文数字

python - 从 Unicode 字符串中正确提取表情符号

php - 如何设置变量以根据 MYSQL 行值回显 2 个可能的结果

PHP div 每 12 个图像

php - Laravel web api 的测试策略

php - 查询未执行

php - Laravel SQLSTATE[HY000] [2002] 连接被拒绝

php - 如何使用php从数据库中提取日期

mysql - 对表的每一行执行更新

java - 波兰语字母在 MZ 320 CPCL 中不起作用