Поиск доступного кабеля: UTF-8, апостроф и национальные параметры

Результат настоящих запросов через PDO_DBLIB. Собственные учебные объекты после наблюдений удалены.

Результат выполнения
НаблюдениеРезультат
Сохранено товаров4
Найдено в наличии2
Первый товарКабель гибкий
Второй товарКабель O'Reilly
Общий остаток7
NULL и пустая строка различеныда
Файлsearch.csv
Полученные строки и наблюдения
{
    "input": [
        {
            "id": 1,
            "sku": "CAB-A",
            "title": "Кабель O'Reilly",
            "category": "Монтаж",
            "qty": 3,
            "note": null
        },
        {
            "id": 2,
            "sku": "CAB-B",
            "title": "Кабель синий",
            "category": "Монтаж",
            "qty": 0,
            "note": ""
        },
        {
            "id": 3,
            "sku": "CAB-C",
            "title": "Кабель гибкий",
            "category": "Монтаж",
            "qty": 4,
            "note": "0"
        },
        {
            "id": 4,
            "sku": "BOX-A",
            "title": "Короб",
            "category": "Тара",
            "qty": 9,
            "note": "Проверено ✓"
        }
    ],
    "stored_rows": [
        {
            "id": 1,
            "sku": "CAB-A",
            "title": "Кабель O'Reilly",
            "qty": 3,
            "note": null,
            "first_codepoint": 1050
        },
        {
            "id": 2,
            "sku": "CAB-B",
            "title": "Кабель синий",
            "qty": 0,
            "note": "",
            "first_codepoint": 1050
        },
        {
            "id": 3,
            "sku": "CAB-C",
            "title": "Кабель гибкий",
            "qty": 4,
            "note": "0",
            "first_codepoint": 1050
        },
        {
            "id": 4,
            "sku": "BOX-A",
            "title": "Короб",
            "qty": 9,
            "note": "Проверено ✓",
            "first_codepoint": 1050
        }
    ],
    "selected": [
        {
            "sku": "CAB-C",
            "title": "Кабель гибкий",
            "qty": 4,
            "note": "0"
        },
        {
            "sku": "CAB-A",
            "title": "Кабель O'Reilly",
            "qty": 3,
            "note": null
        }
    ],
    "csv_records": [
        [
            "sku",
            "title",
            "qty",
            "note_state",
            "note"
        ],
        [
            "CAB-C",
            "Кабель гибкий",
            4,
            "TEXT",
            "0"
        ],
        [
            "CAB-A",
            "Кабель O'Reilly",
            3,
            "NULL",
            ""
        ]
    ],
    "native_quantity_types": [
        "int",
        "int"
    ],
    "emulate_prepares": true
}

result.json содержит те же данные. Реквизиты входа сюда не записываются.