Как хранить многобайтовые символы в базе данных SQL Server с помощью CodeIgniter

Я использую MS SQL Server и CodeIgniter 2 с Active Record для проекта, над которым я работаю, и я только что наткнулся на эту проблему:

Когда я отправляю форму, содержащую символы китайского или хинди, я сохраняю ее в таблице, и когда я просматриваю ее, все, что я получаю, - это вопросительные знаки. Если я пробую английские или греческие символы, все вроде работает нормально.

Причина, по которой я считаю, что это как-то связано с PHP, который я пишу, заключается в том, что если я скопирую и вставлю китайский текст непосредственно в SQL Server Management Studio, все значения сохранятся и отображаются отлично, как в SQL Studio , и веб-приложение.

Это настройки базы данных, которые я использую:

$db['local']['dbdriver'] = 'sqlsrv';
$db['local']['dbprefix'] = '';
$db['local']['pconnect'] = FALSE;
$db['local']['db_debug'] = TRUE;
$db['local']['cache_on'] = FALSE;
$db['local']['cachedir'] = '';
$db['local']['char_set'] = 'utf8';
$db['local']['dbcollat'] = 'utf8_general_ci';
$db['local']['swap_pre'] = '';
$db['local']['autoinit'] = TRUE;
$db['local']['stricton'] = FALSE;

Это структура таблицы, которую я сейчас тестирую:

CREATE TABLE [dbo].[languages](
    [id] [int] IDENTITY(1,1) NOT NULL,
    [language] [nvarchar](1024) NULL,
    [language_local] [nvarchar](1024) NULL,
    [lang_code] [nvarchar](100) NULL,
    [core] [bit] NULL,
 CONSTRAINT [PK_languages] PRIMARY KEY CLUSTERED 
(
    [id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF,         ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

И это моя кодировка кодировки в config.php

$config['charset'] = 'utf-8';

Новые данные для устранения неполадок

Я попытался сохранить следующую строку через свою форму: Iñtërnâtiônàlizætiøn

CodeIgniter ответил с этой ошибкой:

An error occurred translating the query string to UTF-16: No mapping for the Unicode character exists in the target multi-byte code page. .

Это не появляется, когда я пытаюсь сохранить китайские символы Заранее благодарю :)

6
задан Raptor 21 May 2013 в 04:21
поделиться