Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL字符集与PHP_Php_Mysql_Character Encoding - Fatal编程技术网

MySQL字符集与PHP

MySQL字符集与PHP,php,mysql,character-encoding,Php,Mysql,Character Encoding,我的MySQL中有一些带有口音的错误,我所有的文件都是UTF-8格式的 +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8

我的MySQL中有一些带有口音的错误,我所有的文件都是UTF-8格式的

+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
但仍然不起作用,如果我在MySQL连接后放置此选项,它就起作用了:

mysqli_query($conn,'SET character_set_results=utf8');
我有多个函数来启动一个新的连接,所以需要为每个函数添加,这是一个问题


我的数据库都是UTF-8格式。

在您的
mysqli\u连接之后
line使用
mysqli\u集\u字符集($conn,“utf8”)将设置为您的每个连接。

尝试mysqli\u set\u字符集($conn,'utf8'))


怎么了?代码的其余部分在哪里?为它设置一个函数,并将连接作为附加参数传递给它。或者考虑使用OOP。您必须向我们展示这些函数是什么,以及如何包含所有这些文件(如果有很多)。这个问题对我来说不清楚。可能重复出现的错误?与Vélcis这样的波浪图不同,Vélcis似乎不是一个错误,它只是没有向您显示它应该是什么,因为在上面关于复制的链接中可以找到一些可能的原因。通读一遍,你很可能会找到你的解决方案@user3811313问题是,每个函数都有一个新的mysqli_connect(),需要编辑的东西太多了。你所有的$conn都是同一个主机、用户、密码和数据库吗?是的,但它在类连接之外不起作用,我需要设置每个类连接。Controle find+replace需要30秒,对吗?不幸的是不是,许多文件中没有类,而是有$conn。我的DB已经在UTF8上了,我所有的文件仍然是UTF8,什么都没有:/正如我所说的,这是唯一的工作方式,但我的应用程序的每个类中都有一个新连接,因此需要逐个添加:x
$conn = mysqli_connect("host","username","password") or 
die(mysqli_error($conn));
mysqli_set_charset($conn,'utf8');
mysqli_select_db($conn,'databasename') or die("cannot select DB");