[英]Character encoding issue in PHP and MySQL
当我在MySQL使用phpMyAdmin直接运行一个查询它允许–
长划线,不正常-
但是当我从我的PHP代码运行此查询,原来他们–
。
如果您进行编码–将会出现%E2%80%93
(在JavaScript中)。 %E2
变成â
, %80
变成€
, %93
变成“
。 我不明白何时在phpMyAdmin中运行查询时,它会将数据另存为–
,但是当我在PHP代码中运行查询时,则它无法按我想要的方式工作。
您在表格中使用哪种字符编码? 连接到php中的数据库后,尝试运行此命令:
mysql_query('SET NAMES utf8'); //if you use utf-8
也许phpMyAdmin引擎将长破折号转义为普通破折号?
可能是您缺少在HTML上放置met标签,您是否在HTML文档的开头写了下一行?
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
否则,浏览器会将其解释为ISO-8859-1。
您应该在数据库,连接和html文档的任何地方都使用相同的编码。
为了确保您拥有utf-8表,请运行下一条语句,并检查它几乎在末尾显示CHARSET = utf8 。
SHOW CREATE TABLE tableName;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.