Encoding 字符从CSV文件更改为PHP,preg_match_都因此失败

Encoding 字符从CSV文件更改为PHP,preg_match_都因此失败,encoding,Encoding,在我的_construct()函数中,我的文件中已经有一个header('Content-Type:text/html;charset=utf-8')调用,因此页面上的utf-8已经被设置好了。问题是我得到的字符串是这样的: 椅子或袋子:12英寸宽x 3¼英寸高�椅子:标准正面,可选背面或袋子:每个位置每件增加$1.00(G)。标准压印区域为座椅前部。可选压印区域为椅背或书包。除非订单上另有规定,否则在标准位置压印。对于在多个位置上打印,增加$50.00(G)设置加上每件$1.00(G) 在CS

在我的_construct()函数中,我的文件中已经有一个header('Content-Type:text/html;charset=utf-8')调用,因此页面上的utf-8已经被设置好了。问题是我得到的字符串是这样的:

椅子或袋子:12英寸宽x 3¼英寸高�椅子:标准正面,可选背面或袋子:每个位置每件增加$1.00(G)。标准压印区域为座椅前部。可选压印区域为椅背或书包。除非订单上另有规定,否则在标准位置压印。对于在多个位置上打印,增加$50.00(G)设置加上每件$1.00(G)

在CSV文件中,它们看起来如下所示:

椅子或袋子:12英寸宽x 3¼英寸高•椅子:标准正面,可选背面或袋子:每个位置每件增加$1.00(G)。标准压印区域为座椅前部。可选压印区域为椅背或书包。除非订单上另有规定,否则在标准位置压印。对于在多个位置上打印,增加$50.00(G)设置加上每件$1.00(G)

。。。。因此,我的preg_match_一切都搞砸了,因为我试图匹配的是字符位[椅子或袋子:12英寸宽x 3¼英寸高]:

/([A-Za-z-0-9]?):)(\d.?|\d*)“wx(\d*?|\d*)”H)/


我的问题是,在使用fgetcsv()读取文件时,是否有一种方法或函数可以保持编码不变,因为字符的更改正在打乱preg\u match\u all函数?

看起来您在第一个“\d”中缺少“*”