Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a szakasz csak Linux- és macOS-felhasználókra vonatkozik, különösen azokra, akik php-alkalmazásaikban egynél több területi beállítással foglalkoznak.
Alapértelmezés szerint az SQL Server PHP-hez készült Microsoft Drivers a rendszerben definiált LC_ALL környezeti változót veszi alapul, amely felülírja az összes többi LC_xxx kategóriát (bizonyos körülmények között talán kivéve a $LANG vagy $LANGUAGE kategóriákat). Ez hatással lehet az ezres elválasztójelre, a tizedesjelre, a karakterkódolásra, a hónapok és napok neveire, valamint az alkalmazási üzenetekre, például a hibaüzenetekre, és a pénznemszimbólumra stb.
Az 5.8.0-s verziótól kezdve a felhasználók az php.ini fájl használatával konfigurálhatják a honosítási beállításokat, ahogyan az az alábbi példákban látható.
Területi adatok beállítása az SQLSRV-illesztőprogram használatával
Adja hozzá a következőt a php.ini fájl végén:
[sqlsrv]
sqlsrv.SetLocaleInfo = <option>
Területi adatok beállítása a PDO_SQLSRV illesztőprogram használatával
Adja hozzá a következőt a php.ini fájl végén:
[pdo_sqlsrv]
pdo_sqlsrv.set_locale_info = <option>
A beállítás a következő értékek egyike lehet:
| Lehetőség | Viselkedés leírása |
|---|---|
| 0 | Az illesztőprogram figyelmen kívül hagyja a rendszer területi beállításait. |
| 1 | Az illesztőprogram felolvassa a LC_CTYPE változót. |
| 2 | Az illesztőprogram beolvassa a LC_ALL változót (ez az alapértelmezett). |
A LC_CTYPE kategória meghatározza a karakterkezelési szabályokat, amelyek szabályozzák a szöveges adatkarakterek bájtjainak értelmezését, a karakterek besorolását és a karakterosztályok viselkedését. Szabályozza a kis- és nagybetűk, betűrendes és nem betűrendes karakterek felismerését stb.
Explanation
0. lehetőség – ezt akkor használja, ha nem szeretné módosítani az alkalmazás területi beállítását.
1. lehetőség – ezzel csak a rendszer értékét
LC_CTYPEállíthatja be a többiLC_xxxkategória befolyásolása nélkül.2. lehetőség – használja a
LC_ALLaz összesLC_xxxkategória felülbírálásához, ami hatással van a PHP-alkalmazásra és annak bővítményeire.
Ha egy php-szkript területi beállítása nem egyezik meg a rendszerével, előfordulhat, hogy a php-szkript(ek) területi beállítását a php beépített setlocale függvény meghívásával kell megadnia.
Ha például a rendszer alapértelmezett, en_US.UTF-8, de a PHP szkript de_DE.UTF-8-t használ, akkor a PHP függvényt setlocale() meghívja megfelelően.
A 2. lehetőségnél csak akkor adja meg a kívánt területi beállítást a php-szkriptekben, ha az eltér a LC_ALL változótól.
Megjegyzés:
Ha a php.ini fájlban nincs semmi meghatározva, az aktuális alapértelmezett beállítás az összes többi területi beállítás LC_ALL felülbírálása, amit megszűnik támogatni. A közeljövőben az alapértelmezett beállítás a rendszer területi beállításainak figyelmen kívül hagyása lesz. Így a felhasználóknak ennek megfelelően kell módosítaniuk a php.ini fájlt, ha meg szeretnék tartani az aktuális viselkedést.
Ha az sqlsrv és pdo_sqlsrv illesztőprogramok is engedélyezve vannak, a két illesztőprogram különböző beállításai nem ajánlottak.