Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.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
Php 导出Mysql数据库时utf8编码错误_Php_Mysql_Encoding_Utf 8_Phpmyadmin - Fatal编程技术网

Php 导出Mysql数据库时utf8编码错误

Php 导出Mysql数据库时utf8编码错误,php,mysql,encoding,utf-8,phpmyadmin,Php,Mysql,Encoding,Utf 8,Phpmyadmin,我总是在phpmyadmin中看到特殊字符编码,如: “码码>方方码>方码>方码>方码>方码>方码>方码>方码>方码>方码>方码>方码>方码码>方码>方码>方码>方码>方码>方码码>方码>方码码码>方方方码码>方方方码码码……方方码码码码码码……方方码码码码……方方方方方码码码……方方方方方码码码码……方方方方方方方方码码码码码码,方方方方方方方方方方方方方方方方方码码码码码码,方方方方方方方方方方方方方方码码码码码码码方方方方方方方方码码方方方方方方方方方方方方方方码码码码码码方方方方方方方方

我总是在phpmyadmin中看到特殊字符编码,如:
“码码>方方码>方码>方码>方码>方码>方码>方码>方码>方码>方码>方码>方码>方码码>方码>方码>方码>方码>方码>方码码>方码>方码码码>方方方码码>方方方码码码……方方码码码码码码……方方码码码码……方方方方方码码码……方方方方方码码码码……方方方方方方方方码码码码码码,方方方方方方方方方方方方方方方方方码码码码码码,方方方方方方方方方方方方方方码码码码码码码方方方方方方方方码码方方方方方方方方方方方方方方码码码码码码方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方ØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØ21

我一直认为这只是一个与phpmyadmin相关的问题,因为在我的应用程序中,它们都正确显示了。 现在我正在导出这个数据库,在我的mysql转储中,我看到了上面的字符,所以它们似乎是以这种方式存储在数据库中的

有一种简单的方法来转储utf8字符吗

我已经尝试遵循这些建议:

但是,让字符正确可视化的唯一方法是将其打印在网页上并添加到顶部:

<html>      
    <head>
        <meta charset="UTF-8">
    </head>         
<body>

字段的排序规则为utf8\U unicode\U ci。 连接漏洞:

$options=array(\PDO::MYSQL\u ATTR\u INIT\u命令=>'SET NAMES utf8',)

编辑:@lvaro González试图检索十六进制值 我在数据库中输入符号
,然后从phpmyadmin中选择:
选择名称,十六进制(名称)作为“items”中的十六进制名称
这就是结果:

名称–名称
十六进制名称C3A2E2809AC2AC

我将根据要求提供任何进一步的信息
谢谢你想要什么?但是十六进制是C3A2E2809AC2AC
。这是一种“双重编码”——当您存储数据时

请参阅,特别是在关于“双重编码”的讨论中

数据被破坏了。您可以通过凌乱的
更新来修复数据。看

编辑

你原来的东西看起来像

CONVERT(BINARY(CONVERT('میثم اب' USING latin1)) USING utf8mb4)میثم اب   -- mojibake to ut8,

您想要
?但是十六进制是C3A2E2809AC2AC
。这是一种“双重编码”——当您存储数据时

请参阅,特别是在关于“双重编码”的讨论中

数据被破坏了。您可以通过凌乱的
更新来修复数据。看

编辑

你原来的东西看起来像

CONVERT(BINARY(CONVERT('میثم اب' USING latin1)) USING utf8mb4)میثم اب   -- mojibake to ut8,

可能是ISO 639-2对答案投否决票不是很温和,因为你忽略了问题中的信息…所以。。。你的数据真的坏了吗?您可以插入一个已知字符,如“
”€“
又名“欧元符号”(U+20AC),并检查它是否正确编码为0xE2 0x82 0xAC(e282ac)。在MySQL中你有HEX(),在PHP中你有bin2hex()。我没有这么做,我没有足够的声誉。可能是ISO 639-2,因为你忽略了问题中的信息,所以对答案投否决票不是很温和…所以。。。你的数据真的坏了吗?您可以插入一个已知字符,如“
”€“
又名“欧元符号”(U+20AC),并检查它是否正确编码为0xE2 0x82 0xAC(e282ac)。在MySQL中有HEX(),在PHP中有bin2hex()。我没有这么做,我没有足够的声誉。