为什么在数据库值日期中插入:شهريور
?
如何在数据库中搜索这个单词(شهريور)?
In database: structure => date => varchar(255) => utf8_general_ci = "شهريور".
答案 0 :(得分:2)
您的网站使用的编码不存在这些字符,因此浏览器会发送HTML实体。
(在此处尝试:http://codepad.viper-7.com/dfFMvW;此页面在ISO-8859-1中,如果您在输入中发送非ISO-8859-1字符,它们将作为HTML实体发送。)
为避免这种情况,您必须使用不同的编码,例如UTF-8。
在<head>
标记中添加此标题:
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
或者在打印任何内容之前在PHP中执行此操作:
header('Content-Type: text/html; charset=UTF-8');
并确保您的数据库也使用UTF-8。
您可以通过执行以下操作将数据库转换为UTF-8:
ALTER DATABASE your_database CHARACTER SET utf8;
-- for each table:
ALTER TABLE some_table CONVERT TO CHARACTER SET utf8;
连接到数据库后,发送此查询:
SET NAMES UTF8;
答案 1 :(得分:1)
只要你有一个UTF *表,你就不需要html转义那些字符了。
只需确保表格为UTF8,连接为utf8,浏览器将文本读取为utf8。
SET CHARACTER SET
,SET NAMES
,SET COLLATION_CONNECTION
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type" />
和相应的http标头(如果需要)