您好,欢迎访问一九零五行业门户网

osx写入sql server正常linux写入sql server乱码

我们有个项目,由不同团队开发。一边用 windows + .net + sql server 2008;另外一边用linux + yii(php) + mysql开发,现在用yii去连接sql server,开发环境的系统是osx,yii用utf-8,sql server上用gbk。
osx写入sql server正常。linux写入sql server乱码。
据说跟系统的locale有关!!!
求高手解答。
osx配置如下,utf8放下面会报错,不知道什么原因。
'api' => [ 'class' => 'yii\db\connection', 'dsn' => 'dblib:host=x.x.x.x;dbname=dbname;charset=utf8', 'username' => 'username', 'password' => 'password', //'charset' => 'utf8', ],

ubuntu配置如下,utf8放哪一样,程序运行正常,但是写入sql server会乱码。
'api' => [ 'class' => 'yii\db\connection', 'dsn' => 'dblib:host=x.x.x.x;dbname=dbname;charset=utf8', 'username' => 'username', 'password' => 'password', //'charset' => 'utf8', ],

回复内容: 我们有个项目,由不同团队开发。一边用 windows + .net + sql server 2008;另外一边用linux + yii(php) + mysql开发,现在用yii去连接sql server,开发环境的系统是osx,yii用utf-8,sql server上用gbk。
osx写入sql server正常。linux写入sql server乱码。
据说跟系统的locale有关!!!
求高手解答。
osx配置如下,utf8放下面会报错,不知道什么原因。
'api' => [ 'class' => 'yii\db\connection', 'dsn' => 'dblib:host=x.x.x.x;dbname=dbname;charset=utf8', 'username' => 'username', 'password' => 'password', //'charset' => 'utf8', ],

ubuntu配置如下,utf8放哪一样,程序运行正常,但是写入sql server会乱码。
'api' => [ 'class' => 'yii\db\connection', 'dsn' => 'dblib:host=x.x.x.x;dbname=dbname;charset=utf8', 'username' => 'username', 'password' => 'password', //'charset' => 'utf8', ],

自己找到方法了。作图记录。
网络上的资料大部分是freetds+pdo unixodbc;因为我是用yii2的,不知道能不能用odbc没去试,yii2的文档里用freetds+pdo dblib,我就用这个了。
先看osx环境,freetds是用命令安装的,再看下系统locale编码情况,然后验证下tsql连接和版本情况
现在看下ubuntu环境,freetds是用命令sudo apt-get install freetds-bin装的,先看图。我的ubuntu服务器是阿里云的,查了系统locale,没有zh_cn.utf-8的编码因此先安装这个,这个步骤网络上很多,晚点把链接贴在下面。看到第一张图的版本号是4.2,这是默认装的,为了解决乱码的问题,还要在配置文件里改成7.1,改变客户单编码为utf-8,去掉前面的;,看图。
数据库配置:
//osx'api' => [ 'class' => 'yii\db\connection', 'dsn' => 'dblib:host=x.x.x.x;dbname=dbname;charset=utf8', 'username' => 'username', 'password' => 'password', //'charset' => 'utf8', //放这报错],//ubuntu'api' => [ 'class' => 'yii\db\connection', 'dsn' => 'dblib:host=x.x.x.x;dbname=dbname', 'username' => 'username', 'password' => 'password', 'charset' => 'utf8',],
相关链接:
freetds:http://www.freetds.org/userguide/index.htm
freetds+pdo unixodbc:http://www.open-open.com/lib/view/open1405003628966.html
freetds+pdo unixodbc:http://aseity.blog.163.com/blog/static/16481711200702061211659/
freetds安装:http://www.jxm.cc/blogs/473.html
locate安装:http://www.kuqin.com/zhanz/20120219/318273.html
locale介绍:http://blog.csdn.net/rstevens/article/details/2025410
其它类似信息

推荐信息