【问题标题】:UTF-8 input problems with Adminer and phpmyadminAdminer 和 phpmyadmin 的 UTF-8 输入问题
【发布时间】:2014-02-21 18:29:38
【问题描述】:

我最近将我的 MariaDB 数据库从 Latin1 切换到了 UTF-8。阅读一堆清单并仔细更新了我的字符集、排序规则、my.cnf 和 php.ini。我在网站上的大部分数据输入都有 php 表单,但有时为了快速进行小改动,进入像 Adminer 或 phpmyadmin 这样的程序会更容易。

有了 UTF-8,我想将导演 Alfonso Cuaron 的名字改为 Cuarón。我去了他在Adminer的条目。编辑。 Cuar[alt+0243]n。它在编辑框中显示为 Cuarón。但是当我保存更改时,Adminer 将其显示为 Cuarón。好的。在 Firefox 中查看页面信息。说页面的字符编码是UTF-8。所以一切都应该很好,对吧?

我去了我的一个 php 数据输入表单并创建了一个 Bob Cuarón。它显示得很好。 我通过 SSH 连接到服务器,启动了一个 mysql 命令行并使用 Cuarón 运行了一个更新 sql 行。那行得通。但试图在 Adminer 中更改它仍然不断给我 Cuarón。我安装了 phpmyadmin(这给我的 nginx 配置带来了一些问题),但我能够编辑他的名字,然后......叹息......它也给了我 Cuarón。我安装了 SQLbuddy 并且...成功...我能够进行更改,但该程序缺少一些我需要的东西,例如编辑搜索结果的能力。

我确定我已经确定了一切:

nginx.conf:

charset UTF-8;

我的.cnf:

[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
init-connect='SET NAMES utf8'

/etc/php5/fpm/php.ini

mbstring.language               = Neutral
mbstring.internal_encoding      = UTF-8  
mbstring.encoding_translation   = On     
mbstring.http_input             = auto   
mbstring.http_output            = UTF-8  
mbstring.detect_order           = auto   
mbstring.substitute_character   = none   
default_charset                 = UTF-8

显示像“%character_set%”这样的变量;

+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |

我看不出我可能会错过什么。 Adminer 和 phpmyadmin 都处理 UTF-8,所以我不知道为什么它不起作用。它与 SQLBuddy 开箱即用,但正如我所说,它缺少一些功能。

我有什么想法吗?

【问题讨论】:

    标签: mysql utf-8 nginx phpmyadmin mariadb


    【解决方案1】:

    更新:原来我读过的一篇关于 UTF-8 迁移的文章(忘记添加书签,抱歉)让我将一些 mbstring 设置更改为远离 PHP 的默认设置。管理员的某个人注意到了这一点,一切都很好。在此处查看他们的回复:

    https://sourceforge.net/p/adminer/discussion/960418/thread/33595373/#42df

    【讨论】:

      猜你喜欢
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-21
      相关资源
      最近更新 更多