我有一个应用程序,可以处理来自世界各地的客户,当然,我希望进入数据库的所有内容都是UTF-8编码的.
对我来说,主要的问题是,我不知道任何字符串的源代码是什么——它可能来自文本框(只有当用户实际提交表单时,使用<form accept-charset="utf-8">
才有用),也可能来自上传的文本文件,所以我真的无法控制输入.
我需要的是一个函数或类,以确保进入数据库的内容尽可能是UTF-8编码的.我试了iconv(mb_detect_encoding($text), "UTF-8", $text);
次
对于文件上传,我喜欢让最终用户指定他们使用的编码,并向他们展示输出的预览,但这无助于抵御恶意黑客(事实上,这可能会让他们的生活变得更轻松).
我读过关于这个主题的其他so问题,但它们似乎都有微妙的区别,比如"我需要解析RSS提要"或"我从网站上抓取数据"(或者,实际上,"你不能").
但一定有什么东西至少有一个好的try!