我已经阅读了将 MySQL 表/DBUTF8_general_ci
从默认设置为 charset 的内容latin-1
,我在将特定的 unicode 字符串从我的 Python 脚本插入 MySQL 表时出错。我删除了整个数据库,并使用以下命令重新创建了它:
CREATE DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci;
然后我在这个模式中创建了我的表,并附加了:
ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
我有一个使用 MySQLdb 驱动程序输入表的 Python 脚本,我在脚本开头指定了字符集:
connectToDb = mdb.connect(host="localhost",
user="me",
passwd="me",
db="me",
charset="utf8",
use_unicode=True)
记录输入数据库表而没有编码错误。我的问题是我有一个从这些记录运行的数据库驱动的 Intranet 站点(使用 PHP 脚本创建表条目),并且<td>
当我使用 Chrome 浏览网页时,其中的许多记录都包含字形。
我在页面的 HTML 中将我的 PHP 连接指定为:
$connect = mysql_connect("localhost",$usrname,$password,"charset='utf8'");
特别是 GB“£”符号导致了攻击(当我检查 PHPmyadmin 时,我可以看到它在 GUI 中是一个“£”符号)。
我不知道是什么原因,你能帮忙吗?谢谢。
编辑:HTML 页面还声明了以下内容:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />