Символ евро не отображается при переходе с MSSQL на PHP - PullRequest
0 голосов
/ 28 марта 2019

Я передаю данные с MSSQL-сервера в PHP, используя Laravel.После этого я должен передать данные обратно, чтобы сохранить их в базе данных.

Строки, содержащие символ , вместо этого символа отображается "?" .

mb_detect_encoding($str) для строк без символ возвращает ASCII

В противном случае mb_detect_encoding($str) возвращает false .Следовательно, json_encode($str) не работает и возвращает false .

mb_convert_encoding($str, 'UTF-8', 'ASCII'); возвращает действительную кодировку UTF-8.

Итак, я могу запустить все данные, которые я получаю из MSSQL, через эту функцию, чтобы получить UTF-8, но как мне передать его обратно?В кодировке UTF-8?

MSSQL Сортировка: SQL_Latin1_General_CP1_CI_AS, драйвер Laravel: sqlsrv

1 Ответ

0 голосов
/ 01 апреля 2019

Проблема была в том, что PDO_sqlsrv не был включен.Кроме того, проблема в том, что по умолчанию SqlServerConnector.php использует pdo_dblib драйвер вместо pdo_sqlsrv в Laravel 5.5.Приоритет был изменен в более поздних версиях.

Ссылки помогли мне:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...