我正在编写一个系统,这样用户就可以编辑他发布的内容了。简化了,它是一个textarea/input字段,它存储在数据库中,并由一个页面检索它。问题是,我认为编码是不行的,因为字符串存储在数据库中,比如“(C)”或其他东西(phpmyadmin视图)。
插入页:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />mysql_real_escape_string($_POST['field']);输出页:
来自database.
htmlspecialchars($object->field);的
但预期是:输出页面:
来自database.
htmlentities($object->field);,的为什么数据没有正确地存储在MySql中?
发布于 2010-11-11 11:15:20
如果数据库编码设置为utf-8,则还需要将tranfer编码设置为utf-8。要做到这一点,您必须查询
SET NAMES utf8;在插入桌子之前。
发布于 2010-11-11 11:13:26
数据库连接是UTF-8吗?记住,这不是默认的编码,您必须自己显式地设置它。
发布于 2010-11-11 11:16:43
你必须告诉have实体你给它喂食UTF-8:
htmlentities($text, ENT_COMPAT, "UTF-8");否则,它假设它得到ISO-8859-1。
https://stackoverflow.com/questions/4153775
复制相似问题