首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复PHPMyAdmin中的混淆字符

如何修复PHPMyAdmin中的混淆字符
EN

Stack Overflow用户
提问于 2022-07-07 09:54:14
回答 2查看 119关注 0票数 0

我的MySQL数据库中包含了一些中文符号等(非ASCII符号).当我在PHPMyAdmin上看到他们的时候,他们看起来很混乱。但是,如果我使用PHP在我的网站上显示它们,它看起来很好,所以我假设数据被正确地上传/存储在数据库中,所以服务器连接排序规则可能是不正确的。

我打开数据库连接的PHP代码是:

代码语言:javascript
复制
function openConnection(): mysqli
{
    $databaseHost = "localhost";
    $databaseUser = "root";
    $databasePassword = '';
    $databaseName = "my-database-name";

    $connection = new mysqli($databaseHost, $databaseUser,
        $databasePassword, $databaseName);

    if ($connection->connect_error) {
        die("Connection failed: " . $connection->connect_error);
    }

    return $connection;
}

我的PHPMyAdmin服务器连接排序规则是默认的utf8mb4_unicode_ci,这似乎也是合理的。我的表也是用默认utf8mb4_general_ci创建的。对于任何用户可能做的输入来说,这不是很好吗?

在PHP中调用$connection->get_charset()还返回正确的字符集:

如果我在MyPHPAdmin中导出数据库数据,导出也会在Notepad++中被混淆,我确保使用UTF-8编码查看它。如果我再次导入乱码导出,数据库将再次将数据显示为乱码,而在网站上,现在的数据也显示为乱码。在这种情况下,发生了一个实际损坏的导出。

如何解决这个编码问题?显然,PHP可以正确地处理UTF-8,我的Apache服务器也在为UTF-8服务,而且我的数据库配置似乎也是正确的,但是PHPMyAdmin或数据库/数据库表排序规则存在问题。

EN

回答 2

Stack Overflow用户

发布于 2022-07-07 14:47:37

看起来这个问题完全是在别处,因为我用C++代码向PHP提供数据。C++代码使用构建提交给PHP的数据。问题在于,当我将数据放入这里对象时,无法将std::字符串具体编码到UTF-8,就像所描述的C++。话虽如此,现在一切都如期而至。

票数 1
EN

Stack Overflow用户

发布于 2022-07-07 15:06:33

代码语言:javascript
复制
⚈  If using mysqli, do $mysqli_obj->set_charset('utf8mb4');
⚈  If using PDO do somethin like $db = new PDO('dblib:host=host;dbname=db;charset=utf8mb4', $user, $pwd);
⚈  Alternatively, execute SET NAMES utf8mb4

其中任何一个都会说客户机中的字节是UTF-8编码的。如果有必要,如果列定义不是utf8mb4,则在客户端和数据库之间进行转换。

关于PHP的更多说明:http://mysql.rjweb.org/doc.php/charcoll#php

如果您有特定的混淆,请参见UTF-8字符的麻烦;我看到的不是我存储的东西。

如果你怀疑从PHP到记事本的数据,抛出几个汉字的十六进制,并显示给我们。我希望每四个字符都是十六进制F0,或者每三个字符在E3和EA之间。(这是汉字4-字符和3-char UTF-8编码的第一个字节。)

记事本是否正确地处理UTF-8,还是需要设置?

如果您在Windows中的"cmd“中,您可能需要chcp 65001;请参见cmd,这样,更多的非英语字符将正确显示。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72895769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档