数据库中的波斯语单词有问题吗?
为什么在数据库值日期中插入: شهريور
?
如何在数据库中搜索这个词(?)?
In database: structure => date => varchar(255) => utf8_general_ci = "شهريور".
Why insert in database value date as: شهريور
?
How can search this word in database(شهريور)?
In database: structure => date => varchar(255) => utf8_general_ci = "شهريور".
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您的网站使用的编码中不存在这些字符,因此浏览器会发送 HTML 实体。
(在这里试试:http://codepad.viper-7.com/dfFMvW;此页面在 ISO-8859-1 中,如果您在输入中发送非 ISO-8859-1 字符,它们将作为 HTML 实体发送。)
为了避免这种情况,您必须使用不同的编码,例如 UTF-8。
在您的
标记中添加此标头:
或者在打印任何内容之前在 PHP 中执行此操作:
并确保您的数据库也使用 UTF-8。
您可以通过执行以下操作将数据库转换为 UTF-8:
连接到数据库后,发送以下查询:
You website uses an encoding in which these characters do not exists, so the browser sends HTML entities instead.
(Try this here: http://codepad.viper-7.com/dfFMvW ; This page is in ISO-8859-1, if you send non-ISO-8859-1 characters in the input, they are sent as HTML entities.)
To avoid this you have to use a different encoding, like UTF-8.
Add this header in your
<head>
tag:Or do this in your PHP before printing anything:
And make sure your database uses UTF-8 too.
You can convert your database to UTF-8 by doing this:
And after you connect to the database, send this query:
只要您有 UTF* 表,您就不需要对这些字符进行 html 转义,而且确实如此。
只需确保表是 UTF8、连接是 utf8、并且浏览器以 utf8 方式读取文本即可。
SET CHARACTER SET
、SET NAMES
、SET COLLATION_CONNECTION
以及相应的 http 标头(如果需要)
You dont need to html escape those characters as long as you have a UTF* table, and you do.
Simply make sure that the table is UTF8, that the connection is utf8, and the browser reads the texts as utf8.
SET CHARACTER SET
,SET NAMES
,SET COLLATION_CONNECTION
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type" />
and the according http headers, if needed