未知的字符 将excel导入到MySQL后,如何避免它?
可能重复:
utf-8编码PHP + MySQL的问题
我从excel文件导入了大约1000条logging到MySQL中。 但现在我看到了一些文本之间的 。 看来他们是双引号。
- 导入数据时如何避免这种情况?
- 在网页中打印数据时,我可以使用
str_replace()
函数来处理这个问题吗?
使用preg_replace做一个正则expression式replace所有无法识别的字符。
例:
$data = preg_replace("/[^a-zA-Z0-9]/", "", $data);
这个例子将replace所有非字母数字字符(任何不是az,AZ,0-9)。
如果你的数据库足够简单(没有序列化的值和大小不是千兆字节),你可以完全导出它(例如使用PhpMyAdmin),在文本编辑器中打开,执行searchreplace并将其导回。
str_replace('“','”',$ original_string);
有几个字符单词这样做,所以你可能还想要:str_replace(“'”,“'”,$ original_string);
如果您看到其他字符导致相同的问题,您可以打开文档的文字,并复制/粘贴到您的编辑器中的冒犯angular色,并做类似的replace。
由于您很可能正在寻找用同等版本replaceangular色,所以您可能不希望像在另一个答案中build议的那样执行正则expression式。 对于使用types,str_replace比preg_replace快。