PHP:如何摆脱像“Q”这样的奇怪字符\“u00a0”是什么;?

PHP:如何摆脱像“Q”这样的奇怪字符\“u00a0”是什么;?,php,special-characters,hidden-characters,non-breaking-characters,Php,Special Characters,Hidden Characters,Non Breaking Characters,我得到了一堆乱七八糟的JSON数据要导入我的数据库(为了进一步的目的)。当我签出它们(在文本编辑器中打开)时,它们包含很多奇怪(胡言乱语)的字符,如: \u00a0 例如,data.json: [{"title":"hello world!","html_body":"<p>Hello\u00a0 from the\u00a0 other side.\u00a0 <\/p>"}] 不管这些字符是什么用途,我怎样才能摆脱它们呢?谢谢评论部分的所有人,他们(至少)帮助

我得到了一堆乱七八糟的JSON数据要导入我的数据库(为了进一步的目的)。当我签出它们(在文本编辑器中打开)时,它们包含很多奇怪(胡言乱语)的字符,如:

  • \u00a0
例如,
data.json

[{"title":"hello world!","html_body":"<p>Hello\u00a0 from the\u00a0  other side.\u00a0 <\/p>"}]

不管这些字符是什么用途,我怎样才能摆脱它们呢?

谢谢评论部分的所有人,他们(至少)帮助我知道这些字符是
非破坏性字符。然后,我在谷歌上搜索并找到了一个可行的解决方案:

$clean_html_body = preg_replace('/\xc2\xa0/', '', $html_body);

再次感谢大家。:)

感谢评论部分的每一个人,他们(至少)帮助我了解了那些是
非中断字符
。然后,我在谷歌上搜索并找到了一个可行的解决方案:

$clean_html_body = preg_replace('/\xc2\xa0/', '', $html_body);

再次感谢大家。:)

如果您的单个字符串的末尾可能有不间断空格或换行符,则可以使用以下命令在整理JSON数据时对其进行修剪:


$dat=trim($dat,“\t\n\r\0\x0B\xc2\xa0”)

如果您的单个字符串的末尾可能有不间断空格或换行符,则可以使用以下命令在整理JSON数据时对其进行修剪:


$dat=trim($dat,“\t\n\r\0\x0B\xc2\xa0”)

U+00A0是一个不间断的空间,不是胡言乱语。它可能是有意义的和有意的。(虽然在本例中可能不是。)@Martin OS X的便捷字符查看器工具…此JSON中是否有许多其他字符需要删除,或者仅此字符需要删除?@axiac奇怪,deceze声称其为不间断空格,但不能两者兼而有之……U+00A0是不间断空格,而不是胡言乱语。它可能是有意义的和有意的。(虽然在本例中可能不是。)@Martin OS X的便捷字符查看器工具…此JSON中是否有许多其他字符需要删除,或者仅此字符需要删除?@axiac奇怪,deceze声称它是一个不间断的空格,不能两者兼而有之……解决方案应该是在创建时正确检测JSON的字符集,并将其编码为UTF-8或类似格式。但这也引发了字符编码检测的误报性问题。如果他自己进行json_编码,他可以尝试添加json_UNESCAPED_UNICODE作为选项。是的。但正如我提到的,它是给我的。也就是说,生成JSON文件的不是我。这也意味着,我不拥有原始数据源。因此,在收到JSON文件时,我需要一个解决方案。(实际上,这些文件太多了。所以我不能简单地手动清理)解决方案应该是在创建时正确检测JSON的字符集,并将其编码为UTF-8或类似格式。但这也引发了字符编码检测的误报性问题。如果他自己进行json_编码,他可以尝试添加json_UNESCAPED_UNICODE作为选项。是的。但正如我提到的,它是给我的。也就是说,生成JSON文件的不是我。这也意味着,我不拥有原始数据源。因此,在收到JSON文件时,我需要一个解决方案。(实际上文件太多了,所以我不能简单地手动清理)