如何用多种语言对字符串进行排序?

时间:2015-06-25 19:25:42

标签: php mysql

我目前正在开展一个项目,翻译成18种语言,如俄语,德语,瑞典语或中文。我在使用不同语言对国家名称进行排序时遇到了一些问例如,法语国家/地区名称的排序方式如下:   - États-Unis   - Éthiopie   - 阿富汗

我在使用MAMP的本地服务器上没有此问题。 我的数据库的字符集配置为utf8,排序规则为utf8_unicode_ci。我在远程服务器上有完全相同的配置。

我在本地服务器上创建了一个my.cnf文件,其中包含以下说明,以便正确显示特殊字符:

$ hg clone https://vim.googlecode.com/hg/ vim
$ cd vim
$ ./configure --enable-pythoninterp
$ make
$ sudo make install

在远程服务器上,my.cnf文件不包含这些行。当我尝试添加它们时,MySQL不再识别特殊字符,就像它将它们解释为latin1一样。 我检查了collat​​ion_database和所有character_set变量,但它们都被设置为utf8 / utf8_unicode_ci。

以下是创建表的SQL代码:

[mysqld] skip-character-set-client-handshake collation_server=utf8_unicode_ci character_set_server=utf8

我的远程服务器上正确显示了特殊字符。唯一的问题是使用ORDER BY子句进行排序。

似乎远程服务器的配置有问题,但我无法弄清楚是什么。

0 个答案:

没有答案