Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Этот раздел относится только к пользователям Linux и macOS, в частности к тем, кто работает с несколькими языковыми стандартами в приложениях PHP.
По умолчанию драйверы Майкрософт для PHP для SQL Server принимают LC_ALL переменную среды, определенную в системе, и переопределяет все остальные LC_xxx категории (возможно, кроме $LANG$LANGUAGE или в некоторых случаях), затрагивая разделитель тысяч, десятичный знак, набор символов, месяц, имена дней, сообщения приложения, такие как сообщения об ошибках, символ валюты и т. д.
Начиная с версии 5.8.0, пользователи могут настраивать параметры локализации с помощью файла php.ini, как показано в примерах ниже.
Настройка сведений о языковом стандарте с помощью драйвера SQLSRV
Добавьте следующий код в конец файла php.ini:
[sqlsrv]
sqlsrv.SetLocaleInfo = <option>
Настройка сведений о языковом стандарте с помощью драйвера PDO_SQLSRV
Добавьте следующий код в конец файла php.ini:
[pdo_sqlsrv]
pdo_sqlsrv.set_locale_info = <option>
Параметр может принимать одно из следующих значений:
| Вариант | Описание поведения |
|---|---|
| 0 | Драйвер не учитывает параметры языкового стандарта системы. |
| 1 | Драйвер считывает переменную LC_CTYPE. |
| 2 | Драйвер считывает переменную LC_ALL (это значение по умолчанию). |
Категория LC_CTYPE определяет правила обработки символов, которые управляют интерпретацией последовательностей байтов символов текстовых данных, классификацией символов и поведением классов символов. Эта категория управляет распознаванием верхнего и нижнего регистра, алфавитных и неалфавитных символов и т. д.
Описание
Параметр 0. Используйте его, если не нужно изменять языковой стандарт приложения.
Параметр 1. Используйте его, чтобы установить только системное значение
LC_CTYPEбез влияния на другие категорииLC_xxx.Параметр 2. Используйте
LC_ALLдля переопределения всех категорийLC_xxx, что влияет на приложение PHP и его расширения.
Если языковой стандарт для скрипта PHP отличается от стандарта системы, может потребоваться указать языковой стандарт в скрипте PHP, вызвав встроенную функцию PHP setlocale.
Например, если система по умолчанию имеет значение en_US.UTF-8, но скрипт PHP использует de_DE.UTF-8, тогда вызовите соответствующую функцию PHP setlocale().
В параметре 2 укажите требуемый языковой стандарт в скриптах PHP, только если он отличается от переменной LC_ALL.
Примечание.
Если в файле php.ini ничего не определено, текущим значением по умолчанию будет переопределение всех остальных параметров языкового стандарта на основе переменной LC_ALL, что будет нерекомендуемым. В ближайшем будущем значение по умолчанию будет игнорировать параметры языкового стандарта системы. Таким образом, пользователям потребуется соответствующим образом изменить файл php.ini, если нужно оставить текущее поведение.
Если включены оба драйвера, sqlsrv и pdo_sqlsrv, не рекомендуется задавать для них разные параметры.