gpt4 book ai didi

php - 按字母顺序排列阿拉伯名称 Mysql & php

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

我正在尝试按阿拉伯语字母顺序对结果进行排序,但由于某种原因排序不正确 ..

$d1 = mysqli_query($connector,"SELECT * FROM article where type='1' ORDER BY name ASC"); while($a1 = mysqli_fetch_array($d1)){
echo"$a1[name]
"; }

这应该显示按 A-z 排序或以阿拉伯语显示的结果:

    احمد
اياد
بسام
تامر
جعفر
حسين
خضر
ياسمين

但显示结果类似:

    تامر        
جعفر
حسين
ياسمين
احمد
اياد
بسام
خضر

注意:我使用 utf-8 编码,utf8_general_ci

完整的 Mysql 代码::

CREATE TABLE IF NOT EXISTS `article` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(150) NOT NULL,
`type` int(11) NOT NULL,
`content` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ;


INSERT INTO `article` (`id`, `name`, `type`, `content`) VALUES
(1, '222', '', 'tst'),
(2, '111', '', '121'),
(3, 'جعفر', '', 'cont..'),
(4, 'احمد', '', 'cont..'),
(5, 'تامر', '', 'cont..'),
(6, 'اياد', '', 'cont..'),
(7, 'يحيى', '', 'cont..'),
(8, 'بسام', '', 'cont..'),
(9, 'بشير', '', 'cont..');

PHP 代码:

$host = 'localhost';
$user = 'root';
$pass = '123';
$dbname = 'article_test';

$connector = mysqli_connect($host, $user, $pass, $dbname) or die("Problem occured while connecting to Mysql Server..");
$d1 = mysqli_query($connector,"SELECT * FROM `article` where `type`='1' ORDER BY `name` ASC");
while($a1 = mysqli_fetch_array($d1)){
echo"$a1[name] <br />";
}

结果应该是:

111
222
احمد
اياد
بسام
بشير
تامر
جعفر
يحيى

有人知道吗?

最佳答案

尝试预先进行此查询:

mysqli_query($connector, "SET NAMES utf8");
mysqli_set_charset($connector, "utf8");

如果这不起作用,请直接在 MySQL 控制台中运行查询,看看会得到什么。

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

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