首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PHP清理UTF-16/CJK字符?

问使用PHP清理UTF-16/CJK字符?
EN

Stack Overflow用户
提问于 2010-09-11 16:15:09
回答 1查看 921关注 0票数 1

我的计算机上有一些UTF-16格式的文件,尽管这似乎是因为文件的错误或损坏,而不是故意的-它们应该是简单的英语。我上传了其中一个(here)。如果我把火狐(Viwe>Character编码)中的编码放在UTF-8上,我就会得到大量的胡言乱语(参见screenshot)。如果我将编码改为UTF-16,那么它看起来会更好(参见screenshot2),尽管仍然有一堆CJK字符存在。

我想浏览并清理所有这些文件,并可能将它们保存为utf-8格式(我将把内容插入到使用utf8_general_ci排序规则的mysql表中)。有没有人知道我如何用PHP自动完成这项工作?如果您尝试以UTF-8格式查看该文件,我希望删除该文件中显示的所有时髦字符,如果您以UTF-16格式查看,则希望删除该文件中显示的所有CJK字符。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-11 16:25:47

这应该能起到作用:

代码语言:javascript
复制
$txt = file_get_contents('watches.txt');
$txt = mb_convert_encoding($txt, 'UTF-8');
/*Nice regexp to strip non asci and non-printable chars*/
$txt = preg_replace('/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]+/S','',$txt);
$txt = preg_replace('/[^\x00-\x7F]+/S','',$txt);

echo $txt;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3690299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档