mysql - 如何在 MySQL 中将 utf8_general_ci 更改或转换为二进制?

标签 mysql character-encoding mediawiki collation

当我测试 MediaWiki 的新版本 (1.20wmf4) 时,我看到(参见:screen capture)以下关于数据库字符集的消息:

In binary mode, MediaWiki stores UTF-8 text to the database in binary fields. This is more efficient than MySQL's UTF-8 mode, and allows you to use the full range of Unicode characters.

In UTF-8 mode, MySQL will know what character set your data is in, and can present and convert it appropriately, but it will not let you store characters above the Basic Multilingual Plane.

我在 MediaWiki 引擎上有自己的 Wiki,但我的表格使用 utf8_general_ci 排序规则。我的问题是:如何在现有数据库中轻松地将排序规则从 utf8_general_ci 更改为 binary

我的 MediaWiki 版本:1.19.0
我的 MySQL 信息:

  • 服务器:通过 UNIX 套接字的本地主机
  • 服务器版本:5.1.52
  • 协议(protocol)版本:10
  • MySQL 字符集:UTF-8 Unicode (utf8)

最佳答案

不久前我不得不做类似的事情并按照这里的说明进行操作:http://www.mediawiki.org/wiki/Manual:Backing_up_a_wiki#Latin-1_to_UTF-8_conversion .您基本上必须导出数据库,将导出的 SQL 中的 utf8_general_ci 替换为 binary,然后再次导入数据库。这些说明中的 sed 行不太正确,但您也可以手动编辑转储的 SQL 文件并修复 utf8_general_ci 的任何实例。

关于mysql - 如何在 MySQL 中将 utf8_general_ci 更改或转换为二进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10949959/

相关文章:

php - 检索维基百科文章的第一段

mysql - 多个 MySQL 选择

mysql - 如果table1中的table2 id不为空,如何连接到table2

mysql - 在 laravel5 中打印 mysql 查询

php - 按部门过滤交易

android - 如何将编码设置为Http Post请求android

c++ - 将全精度 double 输出到文本文件的最佳方法

java - 在java中将A字节转换为ASCII字符

javascript - 如何将外部 &lt;script&gt; 添加到所有 mediawiki 页面的 <head> 部分?

mediawiki - 如何在维基百科文章中显示维基数据附加链接