gpt4 book ai didi

php - 按字母顺序排列阿拉伯语数据

转载 作者:行者123 更新时间:2023-11-29 00:01:35 29 4
gpt4 key购买 nike

如何按阿拉伯字母对从MySQL抓取的数据进行排序?

注意:我在MySQL中使用utf8_general_ci作为排序规则,编码没问题,我只是想知道如何按字母排序数据。

最佳答案

为了使用 php 对 mysql 数据库中的阿拉伯语文本进行排序,您必须确保:

  1. MySQL 字符集:UTF-8 Unicode (utf8)
  2. MySQL 连接整理:utf8_general_ci
  3. 您的数据库和表排序规则设置为:utf8_general_ciutf8_unicode_ci

因此,当您创建表格时,将字符集设置为 utf8:

CREATE TABLE my_table (
id int(11) NOT NULL auto_increment,
name varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
PRIMARY KEY (id)
) DEFAULT CHARSET=utf8;

如果您已经有一个用 latin1 编码的表格,请像这样转换它:

ALTER TABLE `my_table` CONVERT TO CHARACTER SET utf8

参见:Character set in MySQL .

然后,您需要在设置数据库连接时在 PHP 中添加一行:

mysql_query ('SET NAMES \'UTF8\'');  

或者:

mysql_set_charset ('UTF8'); // PHP 5.2.3 or greater.

或者,如果您正在使用 PDO,您可以像这样将它作为第四个参数传递:

$db = new PDO ('mysql:host=localhost;dbname=tests', 'root', '', 
array (PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''));

另外不要忘记将页面标题设置为 utf8 :

header ('Content-type:text/html; charset=utf-8');

示例排序查询:

$sql = "SELECT * FROM my_table ORDER BY name" ;

关于php - 按字母顺序排列阿拉伯语数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29550658/

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