我已经开始调试我的 RSS 提要,因为它有一些奇怪的字符(即缺少字符的字形)。我从两个优秀的初学者资源开始:
- 每个软件开发人员绝对绝对必须了解 Unicode 和字符集:http ://www.joelonsoftware.com/articles/Unicode.html
- 字符集/字符编码问题:http ://www.phpwact.org/php/i18n/charsets
我认为我们的 RSS 提要有问题的原因是用户将 MS Word 文档复制并粘贴到网站上的文本区域中,而我们的 PHP 页面使用的是与特殊的“Windows-1252”不兼容的“iso-8859-1”字符集MS Word 使用的项目符号和智能引号等内容的编码。
所以我希望解决这个问题,我需要做的就是在接受/提供用户输入的页面中开始使用“utf-8”??即在 HEAD 部分设置以下内容:
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
不过,我提出这个问题的真正原因是因为存储用户输入的数据库字段位于“ latin1_swedish_ci
”中,我想知道是否需要将它们转换为“ utf8_general_ci
”?MySQL 并不真正关心字符集吗?它只看到一堆字节,如果我将 Unicode 放入一个整理为拉丁语的字段中,它仍然会以 Unicode 的形式出现,对吗?更改字段会很烦人,因为该字段是 FULLTEXT 索引的一部分,其中其他字段也需要更改其排序规则,这意味着删除索引并重建它(当涉及大量 TEXT 时,这不是一项小任务)。