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

是否使用“设置名称”

岳允晨
2023-03-14
问题内容

在阅读O’Reilly的“高性能MySQL”时,我偶然发现了以下内容

另一个常见的垃圾查询是SET NAMES UTF8,无论如何这是错误的处理方式(它不会更改客户端库的字符集;它仅影响服务器)。

我有点困惑,因为我曾经将“ SET NAMES utf8”放在每个脚本的顶部,以使数据库知道我的查询是utf8编码的。

任何人都可以评论以上引用,或者,更正式地说,是什么建议或最佳实践,以确保我的数据库工作流可识别unicode。

如果相关,我的目标语言是php和python。


问题答案:

mysql_set_charset()将是一个选择-
但仅限于ext/mysql。为此ext/mysqlimysqli_set_charset并且您需要指定连接参数。PDO::mysql

使用此函数会导致MySQL API调用,因此应认为它比发出查询要快得多。

在性能方面,确保脚本和MySQL服务器之间基于UTF-8通讯的最快方法是正确设置MySQL服务器。由于SET NAMES x是等同于

SET character_set_client = x;
SET character_set_results = x;
SET character_set_connection = x;

SET character_set_connection = x内部也可以执行,SET collation_connection = <<default_collation_of_character_set_x>>您也可以在中静态设置这些服务器变量my.ini/cnf

请注意在同一MySQL服务器实例上运行的其他应用程序可能需要的问题,并且需要其他一些字符集。



 类似资料:
  • 问题内容: 我一直在寻找一种为CURL指定cookie数据的方法。我已经找到了一些有关如何从访问的页面保存cookie的解决方案,但这不是我所需要的。我想要的是自己写Cookie的数据,以便CURL使用它。 问题答案: 您确实应该阅读该文档 -其中列出了与您期望的关键字完全相同的文档,并且包含许多有用的信息: -b,-cookie (HTTP)将数据作为cookie传递到HTTP服务器。可能是先前

  • 这很有效,但问题是GCS中的文件名与原始文件名不一样(似乎只是blobkey)。 我可以做同样的但在GCS中有原始文件名吗?

  • 如何检查字节中的某个位是否被设置?

  • 我的问题是这样的--假设我有一个war文件,叫做My-APP-123.war。我想把它部署在Tomcat服务器(9.0.x)上,让它自动解包。 然后可以通过http://localhost:8080/my-app-123访问该应用程序 有没有一种方法,不重命名war文件,就可以从http://localhost:8080/my-app访问应用程序? 在此之前,我将说,我意识到最简单的解决方案是只命

  • 问题内容: 我想平稳地向下滚动。我不想为此写函数-特别是如果jQuery已经有一个函数。 问题答案: 您可以只使用该属性,如下所示:

  • 问题内容: 更新时间 : 输出: 当我们添加时,需要一些信息来设置默认排序整数值,但是如果我将字符串添加到设置,则默认情况下不会排序。 更新: 并且Caps字母将在运行多次后始终进行排序。 java版本“ 1.6.0_26” Java™SE运行时环境(内部版本1.6.0_26-b03)Java HotSpot™客户端VM(内部版本20.1-b02,混合模式,共享) 请给我一些想法。谢谢 问题答案: