1
我有一些mysql数据库,其中包含一些中文关键字,我需要使用PHP在CSV文件中对某些关键字进行比较。对MySQL,PHP和CSV文件进行编码
我似乎有一个编码问题,当我比较两个关键字我知道是相同的(与中国字符)脚本说,他们是不同的。
我在数据库脚本的开头使用“SET NAMES utf8”。 表中关键字字段的排序规则是utf8_bin。
上我也用
mb_internal_encoding("UTF-8");
header('Content-Type: text/xml, charset=UTF-8; encoding=UTF-8');
剧本我读了CSV与
$data = fgetcsv($handle, 1000, ",")) !== FALSE
文件和我的比较线是这样
$database_keyword == CSV_keyword
关于CSV文件我有使用记事本++来尝试更改编码,但仍然无法正常工作。
非常感谢。
编辑:我在Windows 7
编辑:,然后将溶液 它可能会帮助一个人在那里,我发现我的问题是由BOM引起的被包含在从CSV文件字符串。 我设法通过使用该功能
private function rmBOM($string) {
if(substr($string, 0,3) == pack('CCC',0xef,0xbb,0xbf)) {
$string=substr($string, 3);
}
return $string;
}
谢谢,我会试试看。 – Jon