Красноречиво -красноречивая Laravel не может вставить Unicode (Emoji) в столбец NVARCHAR на SQL Server - работает толькоPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Красноречиво -красноречивая Laravel не может вставить Unicode (Emoji) в столбец NVARCHAR на SQL Server - работает только

Сообщение Anonymous »

Я работаю над проектом Laravel 8, который подключается к Microsoft SQL Server 2017 (работающий на Windows Server 2012 R2), используя PHP 7.4.9 и драйверы SQLSRV/PDO_SQLSRV. Моя цель состоит в том, чтобы вставить символы Unicode (например, смайлики, как ✅) в столбец, определяемый как nvarchar.

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

DB::table('cabang')->insert(['kodecabang' => '✅']);

< /code>
символы Unicode правильно вставлены в столбец Nvarchar.$cabang = new \App\Models\Cabang();
$cabang->kodecabang = '✅';
$cabang->save();
< /code>
символ становится поврежденным (?, и т. Д.), или я иногда получаю: < /p>

Уродство UTF-8, возможно, неверно кодируемые < /p>
< /blockquote>
, что я подтвердил и попробовал < /h2>

 < /h2>

  < /h2>

. Является ли nvarchar 
[*] laravel db config использует 'charset' => 'utf8'
 Данные utf-8 действительны (проверено с помощью mb_check_encoding 
, iconv и т. Д.) event saving ()) < /li>
Использование Laravel 8 красноречивых моделей и подключения по умолчанию < /li>
Файлы сохраняются как UTF-8 без Bom < /li>
Я пытался вынудить конверсии, такие как: < /li>
< /ul>

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

iconv('UTF-8', 'UTF-8//IGNORE', $value)
< /code>
Все еще не повезло - сохраненный символ - это не эмодзи, а сломанный. < /p>

 Вставка n'✅ 'напрямую в SQL Server (SSMS) работает нормально < /li>
 Использование Raw Db :: Сервер N' ... < /code> также не работает < /li>



 < /li> 

. Показывает extensionver 
при запуске php -i | Найдите "SQLSRV" .
Однако, однако, Unicode Insert с помощью Elo Cordent Works на локальных, но сбоя на сервере.
Это говорит о том, что проблема может быть не только версией драйвера, но, возможно, среда, кодирование уровня OS, или то, как драйвер установлен/настроен на сервере. />
Правильно ли Eloquent или поддержка драйвера PDO SQLSRV Unicode для nvarchar? Не из Microsoft? < /li>
переключается на официальные драйверы Microsoft SQLSRV Единственное надежное решение для хранения Unicode через Elodent Orm? < /li>
< /ol>
Примечания < /h3>

Я не могу повторно использовать приложение для использования DB: Главный.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... on-sql-ser
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Красноречиво -красноречивая Laravel не может вставить Unicode (Emoji) в столбец NVARCHAR на SQL Server - работает только
    Anonymous » » в форуме Php
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Laravel красноречиво суммирует несколько строк из связанной таблицы
    Гость » » в форуме Php
    0 Ответы
    23 Просмотры
    Последнее сообщение Гость
  • Голосование «за» и «против» в Laravel красноречиво
    Anonymous » » в форуме Php
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Выберите первые 10 рядов - красноречивая Laravel
    Anonymous » » в форуме Php
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Как вставить нулевое значение в столбец изображения в SQL Server С#
    Anonymous » » в форуме C#
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»