我经常在使用MySQL的PHP脚本中看到类似的内容
query("SET NAMES utf8");
我从来没有对任何项目都这样做,所以我对此有两个基本问题。
这仅是通过PDO完成吗? 如果不是PDO特定的事情,那么这样做的目的是什么?我意识到它正在为mysql设置编码,但是我的意思是,我从未使用过它,所以为什么要使用它?
每当您要将数据发送到具有纯ASCII无法表示的字符(例如“ñ”或“ö”)的服务器时,都需要使用它。
如果MySQL实例未配置为默认情况下期望来自客户端连接的UTF-8编码(很多情况取决于您的位置和平台)。
如果您不了解Unicode的工作原理,请阅读http://www.joelonsoftware.com/articles/Unicode.html。
阅读是否使用“ SET NAMES”来查看SET NAMES的替代方案以及其确切含义。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。