gpt4 book ai didi

php - MySQL存储特殊字符(Android、PHP也有涉及)

转载 作者:行者123 更新时间:2023-11-29 04:50:21 25 4
gpt4 key购买 nike

好的,我正在尝试将来自 Android 应用程序的数据存储在 MySQL 数据库中。我使用 PHP 作为中间件。

我提交给数据库的是这样的(例如):清酒

MySQL中存储的是:萨卡

当我在 Android 中重新打印该行时,它知道要转换回:清酒

问题是,当我执行某些选择语句时,是的,它基本上无法正常工作。有什么方法可以保持这种一致性?

MySQL 中的注意事项:我使用 utf8_general_ci

最佳答案

您需要为您的 PHP 脚本的数据库连接强制执行正确的字符。最简单的方法是执行此查询:

SET NAMES 'utf8';

只有一次,最好在您 connect() 之后。如果您使用 Zend Framework,只需添加以下内容:

resources.db.params.charset  = UTF8

到您的 application.ini。对于 mysqli,请参阅 set_charset() .如果您使用其他任何东西,请查看文档中是否有类似内容。如果什么都没有,SET NAMES 技巧将始终有效。

一个重要提示 - 根据您将数据放入数据库的方式,您的数据库内容很可能需要修复,因为它在 INSERT 期间被损坏的字符集损坏.因此,即使您现在执行 SET NAMES,您很可能仍会看到显示错误的数据。但具有讽刺意味的是,OK - 您现在显示一切正常,但数据本身已损坏。您现在需要修复数据(只需重新插入)。

关于php - MySQL存储特殊字符(Android、PHP也有涉及),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12396317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com