1

可能重复:
utf-8 编码 PHP + MySQL 中的问题

我已经从一个 excel 文件将大约 1000 条记录导入 MySQL。但现在我在一些文本之间看到了……。似乎它们是双引号。

  1. 导入数据时如何避免这种情况?
  2. str_replace()在网页中打印数据时,我可以使用函数来处理这个问题吗?
4

3 回答 3

0

如果您的数据库足够简单(没有序列化的值并且没有千兆字节大小),您可以完全导出它(例如使用 PhpMyAdmin),在文本编辑器中打开,执行搜索替换并重新导入。

于 2012-08-15T18:58:03.970 回答
0

使用 preg_replace 对所有无法识别的字符进行正则表达式替换。

例子:

$data = preg_replace("/[^a-zA-Z0-9]/", "", $data);

此示例将替换所有非字母数字字符(不是 az、AZ、0-9 的任何字符)。

http://php.net/manual/en/function.preg-replace.php

于 2012-08-15T18:48:11.690 回答
0

str_replace('“', '"', $original_string);

有几个字符单词可以做到这一点,所以你可能也想这样做:str_replace("'", "'", $original_string);

如果您看到其他字符导致相同的问题,您可以在 word 中打开文档,并将有问题的字符复制/粘贴到您的编辑器中并进行类似的替换。

由于您很可能希望将字符替换为等效版本,因此您可能不想像另一个答案中建议的那样执行正则表达式。str_replace 的使用类型比 preg_replace 快。

于 2012-08-15T18:54:46.640 回答