当前位置: 首页 > 面试题库 >

PHP PDO:字符集,设置名称?

夏建木
2023-03-14
问题内容

我以前在正常的mysql_ *连接中拥有此功能:

mysql_set_charset("utf8",$link);
mysql_query("SET NAMES 'UTF8'");

PDO是否需要它?那我应该在哪里呢?

$connect = new PDO("mysql:host=$host;dbname=$db", $user, $pass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));

问题答案:

您将在连接字符串中添加它,例如:

"mysql:host=$host;dbname=$db;charset=utf8"

但是,在PHP 5.3.6之前,charset选项被忽略。如果您运行的是旧版本的PHP,则必须这样进行:

$dbh = new PDO("mysql:$connstr",  $user, $password);
$dbh->exec("set names utf8");


 类似资料:
  • 问题内容: 我正在使用MySQLi从MySQL表中以阿拉伯语获取数据。所以我通常以程序风格使用它: 现在,我正在使用OOP样式,因此尝试查看是否可以设置某些内容而不是上面的设置? 我只是在PHP手册中找到了它,所以做到了,但是将名称设置为UTF8呢? 问题答案: 一样的: $ mysqli- > query(“ SET NAMES’utf8’”); 从手册中: 这是更改字符集的首选方法。不建议使用

  • 我正在Ubuntu中运行httpd+mod_jk+2个tomcat服务器。当我以非拉丁语言提交表单时,我会在DB中得到垃圾。如果我通过Tomcat提交相同的表单,直接绕过httpd,那么一切看起来都很好。以下是我的配置: /ETC/APACHE2/CONF.D/CHARSET: Tomcat1: Tomcat2: JDBC连接: jdbc:mysql://localhost:3306/myapp?

  • 问题内容: 如何使用JAX-RS设置字符集?我试过了,但是被忽略了,只用HTTP标头发送。我想在MessageBodyWriter中设置字符集,但是不想自己通过反射来分析@Produces批注来提取媒体类型。 问题答案: 正如Daemon在评论中指出的那样,JAX-RS的最新版本(包括截至2012年9月的稳定版本)现在 确实 支持该语法。因此,您可以使用:

  • 问题内容: 我有一个计划不佳的数据库,该数据库在诸如“ 1、2、5、10”之类的文本列中有一个ID集。我需要得到以相同方式设置的两列的交集。我不喜欢使用PHP或其他脚本语言来执行此操作,我也不喜欢MySQL自定义函数。有什么办法可以得到逗号分隔字符串给定的两个集合的交集? 实际上,我不需要完整的交集,我只需要知道两组中是否存在相同的数字。如果是,我需要具有“ 1”,如果没有相同的数字,则需要具有“

  • 我正在使用Node.js程序将数据插入MongoDB数据库。我已将数据插入到名为“repl-failOver”的集合中。 当我使用Mongo shell并使用< code>show collections列出数据库中的集合时,我能够看到集合“repl-failOver”。 如何从mongoshell为这个集合运行查找命令?

  • 本文向大家介绍带你5分钟读懂MySQL字符集设置,包括了带你5分钟读懂MySQL字符集设置的使用技巧和注意事项,需要的朋友参考一下 一、内容概述 在MySQL的使用过程中,了解字符集、字符序的概念,以及不同设置对数据存储、比较的影响非常重要。不少同学在日常工作中遇到的“乱码”问题,很有可能就是因为对字符集与字符序的理解不到位、设置错误造成的。 本文由浅入深,分别介绍了如下内容: 字符集、字符序的基