yii + mssql = ?

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
yelloo
Сообщения: 9
Зарегистрирован: 2011.10.20, 15:09

yii + mssql = ?

Сообщение yelloo »

привет великие умы)
столкнулся с проблемой кодировки, тем куча - все без ответа
проблема в выводе данных из ms sql, а точнее, браузер автоматом определяет кодировку utf-8. если вручную поставить на windows-1251 -> данные отображаются нормально

config/main.php

Код: Выделить всё

'charset'=>'windows-1251', 
.htaccess

Код: Выделить всё

AddDefaultCharset windows-1251
layouts/main.php

Код: Выделить всё

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> 
все файлы приложения в ansi
при попытке в /config/main.php в подключении бд поставить 'charset' => 'cp1251' возникает

Код: Выделить всё

CDbException:
CDbConnection failed to open the DB connection: SQLSTATE[HY000]: General error: 10007 'NAMES' is not a recognized SET statement. [10007] (severity 5) [] 
после метода

Код: Выделить всё

public function actionTest(){
        print_r(Yii::app()->charset);
        //phpinfo();
    } 
вижу cp1251, а при выводе данных попробовал воспользоваться функцией mb_detect_encoding(), и тут получил utf-8. да что за косяк?!
:shock:
думал попробовать iconv, как советавали в подобных темах; обычные данные выводит, но наткнулся на CGridView: (потом ещё и с аяксом будут траблы)

Код: Выделить всё

$this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'theme-grid',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    //'htmlOptions'=>array('encode'=>false),
    'columns'=>array(
        'idTheme',
       // 'tName',
        array(
            'name'=>'tName',
            'value'=>iconv("windows-1251","utf-8",$model->tName),
        ),
        array(
            'class'=>'CButtonColumn',
        ),
    ),
)); 
не помогает.
кто сталкивался с такой проблемой и решили её, помогите новичку :(
Аватара пользователя
Caveman
Сообщения: 152
Зарегистрирован: 2009.04.04, 20:56
Откуда: Москва
Контактная информация:

Re: yii + mssql = ?

Сообщение Caveman »

Проверьте настройки драйвера БД - в MSSQL нет конструкции "SET NAMES [charset]".
Какой драйвер используется - mssql или sqlsrv ? (Советую сразу sqlsrv брать)
yelloo
Сообщения: 9
Зарегистрирован: 2011.10.20, 15:09

Re: yii + mssql = ?

Сообщение yelloo »

mssql. хотелось бы решить проблему на уровне приложения и не лезть в бд
yelloo
Сообщения: 9
Зарегистрирован: 2011.10.20, 15:09

Re: yii + mssql = ?

Сообщение yelloo »

проблема решена с помощью ivonv и htmlOptions... много гемора, ну а что поделать :D
Ответить