Как получить данные в то время как имена столбцов на арабском языке на сервере SQL? - PullRequest
2 голосов
/ 23 мая 2019

Я пытался получить данные из таблицы с арабскими именами столбцов. Мне удалось преобразовать арабский текст в utf-8 из другой таблицы, но я не могу извлечь данные из таблицы с именами арабских столбцов.

Это для сервера Linux, MySql 5, PHP 5 и Apache 2. Я использую библиотеку PHP MSSQL для подключения к серверу SQL. Я пытался запрашивать на арабском языке, как в select * from table_name",select رقم الطالب from table_name

ini_set('mssql.charset', 'UTF-8');
header('Content-type:text/html');
echo '<meta charset="UTF-8">';
// Connect to MSSQL
$con = mssql_connect('server', 'username', 'pwd');


if (!$con) {
    die('Something went wrong while connecting to MSSQL');
}

// Select a database:
mssql_select_db('database_name') or die('Could not select a database.');

$SQL = "SELECT `الجنس` as Gender FROM `table_name`";

$result = mssql_query($SQL)  or die('A error occured: ' . mysql_error());

$res=mssql_fetch_assoc($result);

echo iconv('UTF-16LE', 'UTF-8', $Row['Gender']);

Это ошибки, с которыми я сталкиваюсь при попытке описанного выше метода

Внимание:

mssql_query (): message: неверный синтаксис рядом с '`'. (степень тяжести 15)

Ответы [ 2 ]

0 голосов
/ 23 мая 2019

Сообщение об ошибке жалуется на `и использование` для переноса столбцов не будет работать на SQL Server.Вам необходимо использовать двойные кавычки "или квадратные скобки.
Также я бы порекомендовал создавать представления с более простыми в использовании именами для всех таблиц с арабскими именами столбцов.

0 голосов
/ 23 мая 2019

Не уверен, используете ли вы sql server или mysql. Предполагая, что SQL Server, когда у вас есть специальные символы в качестве имен столбцов, вы должны заключить имя в квадратные скобки. Если это вообще возможно, я бы избегал использовать арабский для имен столбцов. С ним сложно работать. Я бы предложил использовать английские имена столбцов (тем более что остальная часть t-sql - английская). Затем используйте арабский в слое презентации.

SELECT [الجنس] as Gender FROM table_name
...