我正在使用 **MySQL 的 LOAD DATA INFILE命令将 CSV 文件**e 导入我的数据库。该文件不一定是UTF-8 编码的,我对此没有任何控制权,所以我必须求助于预处理/后处理。我的数据库和 HTML 网页都强制执行 UTF-8 编码。由于我确实加载了数据文件,因此我必须对此进行后期处理。所以我从数据库中提取信息并使用 htmlentities 应用我的后处理过滤器。
foreach($records as $r)
$updates[] = htmlentities($r["column"], ENT_COMPAT, 'UTF-8');
然后我再次更新数据库表。
列在后处理之前进入表中,但之后,列变为空白,这意味着 htmlentities 返回空白,这是 HTML 的有效返回值。
具体来说,候选值为:
“PJ 防风雨 32 ®”
知道为什么吗?