【发布时间】:2019-05-16 14:53:48
【问题描述】:
我正在使用 PHP 执行带有西班牙语、英语和日语字符的 MySQL 更新语句。
但我无法将日文字符保存到数据库中。我应该如何进行?
数据库有 utf8_general_ci 排序规则。
$strSQL = "UPDATE table SET value = '" . addslashes($strValue) . "'";
$strSQL = utf8_decode($strSQL);
mysqli_query($cnn, $strSQL);
使用addslashes,我可以将撇号保存到数据库中。
使用utf8_decode,我可以将西班牙语字符保存到数据库中。
【问题讨论】:
-
你绝对不应该使用
addslashes,使用mysqli_real_escape_string。你也不应该使用utf8_decode,你需要确保你使用UTF-8作为你的数据库和页面编码。您可以在线 (phptherightway.com) 找到有关如何在 PHP 中使用 UTF-8 的信息 -
如果您在实施 Andrea 和 Max Base 建议的更改后仍然遇到问题,请查看 this 是否有帮助。
标签: php mysql mysqli unicode cjk