Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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 10.2.25-ADB不允许使用多种语言的数据_Mysql_Mariadb_Innodb - Fatal编程技术网

Mysql 10.2.25-ADB不允许使用多种语言的数据

Mysql 10.2.25-ADB不允许使用多种语言的数据,mysql,mariadb,innodb,Mysql,Mariadb,Innodb,Mysql版本:10.2.25-MariaDB ENGINE=InnoDB 我试图保存数据,比如: 但它只显示问号:?? 我已经试过: Utf8, Utf8mb4 charset & utf8_general_ci, utf8_unicode_ci collation 但它们似乎都不起作用 我应该使用什么字符集或排序规则将数据保存为多个字符 语言 更新: 同一个项目在我的本地机器上以多种语言保存和检索数据(在本地机器上使用mysql)。但我部署代码的服务器使用的是maria db 更

Mysql版本:
10.2.25-MariaDB

ENGINE=InnoDB
我试图保存数据,比如:

但它只显示问号:
??

我已经试过:

Utf8, Utf8mb4 charset & utf8_general_ci, utf8_unicode_ci collation
但它们似乎都不起作用

我应该使用什么字符集或排序规则将数据保存为多个字符 语言

更新:

同一个项目在我的本地机器上以多种语言保存和检索数据(在本地机器上使用mysql)。但我部署代码的服务器使用的是maria db

更新2:

为了确保数据库出现问题,并且客户端正在向数据库发送正确的数据,我在将数据保存到数据库之前将数据保存到了一个文本文件中。文本文件包含正确的数据,但数据库中有

SHOW VARIABLES LIKE 'character_set%'
检查
字符集\数据库
字符集\连接
字符集\结果

很可能服务器默认字符集不是UTF-8,因此您需要在连接后通过发出
set NAMES UTF8
手动配置连接

在php中,您可以使用
$connection->set\u字符集('UTF8')

此外,您还需要检查表格字符集(
SHOW CREATE TABLE xyz
)。
如果您的数据库字符集未设置为UTF8,并且您创建的表中没有为每个表/列指定字符集,这些表无法容纳UTF8字符,您需要重新创建它们。

我在
连接字符串中添加了
charset=UTF8
,它成功了。

但它只是在UTF8 CLI控制台窗口中显示问号?可能您的客户端无法显示它们,并且数据库中的数据也很好。我使用的是phpmyadmin,我刚刚检查了表中的数据,它有
我已经更新了问题,请检查这是否有帮助?谢谢,您的回答给了我更新连接字符串的线索。