所以我有MSSQL数据库,我可以连接,但有些字符集显示为"����"符号。
Laravel数据库配置(我使用Laravel版本5.5.32 + php 7.2):
'driver' => 'sqlsrv',
'host' => env('MS_DB_HOST', 'localhost'),
'port' => env('MS_DB_PORT', '1433'),
'database' => env('MS_DB_DATABASE', 'forge'),
'username' => env('MS_DB_USERNAME', 'forge'),
'password' => env('MS_DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
我使用vagrant连接到MSSQL我用命令安装了驱动程序:
apt install php7.2-sybase
使用cp1257编码的MSSQL数据库(Windows-1257) (我做了那个查询以找出它):
SELECT DEFAULT_CHARACTER_SET_NAME FROM information_schema.SCHEMATA;
我无法对MSSQL(它的旧版本)进行任何更改,但可以对vagrant / laravel进行任何更改。我试图在database.php中更改字符集,我试图将结果转换为UTF8,但是Laravel中显示的响应总是带有�符号。
任何想法如何获得正确的编码?