php - Mysql 处理非英文字符输入,可以使用 phpMyAdmin 命令框,而不是通过 PHP

标签 php mysql phpmyadmin

我的数据库处理中文和日文字符。

当我在 phpMyAdmin 命令框中插入行时,效果非常好。

但是当我在我的网站上设置查询输入时出现问题,查询是由一个 php 文件获取的,例如:

    $query = $_POST['query'];
    $result = $dbc->query($query); 

非英文字符在数据库中变成垃圾,比如

  ID      column1
  1666    ä½ å¥½å•Šå•Šå•Š

我检查过php文件接收字符正常,问题应该来自Mysql。所有字符集都是 utf-8。

我是 mysql 的新手,如果您需要更多信息,请告诉我。

提前谢谢你。

最佳答案

列的排序规则设置为 utf8_general_ci

更多信息:https://dev.mysql.com/doc/refman/5.7/en/charset-applications.html

将此行添加到 PHPMyAdmin 中的 config.inc.php

$cfg['DefaultCharset'] = 'utf8';
$cfg['DefaultConnectionCollation'] = 'utf8_general_ci';

关于php - Mysql 处理非英文字符输入,可以使用 phpMyAdmin 命令框,而不是通过 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33687220/

相关文章:

mysql - 如何在 phpMyAdmin 中设置表之间的关系

mysql - SQL 更新来自不同表的表值

php - 加入两个 laravel 集合

php - Paypal - 成功 - 重定向不起作用

java - 使用 SQL 和 Java 登录

javascript - 在codeigniter中将数据从javascript传递到php文件

apache - Kubernetes拒绝使用apache/phpmyadmin连接

php - wkhtmltopdf 窗口错误

php - MySQL 查询每 60 秒重新启动一次?

php - 理解 Laravel 中的 hasOne() 和 belongsTo() 函数