Existe-t-il un moyen de connaître les paramètres de langue des machines client? spécifiquement le séparateur de liste (délimiteur) sélectionné. Parce que, dans mon site Web de projet (développé en utilisant PHP, Javascript, Jquery), le client peut exporter des rapports au format csv. À l'heure actuelle, nous créons ce csv avec "virgule" comme délimiteur. Mais pour certains de nos clients, lorsqu'ils ouvrent ce fichier CSV, les données sont affichées dans une colonne avec des virgules séparées. J'ai compris que c'était parce que le séparateur de liste par défaut sélectionné dans leur configuration du panneau de configuration du système d'exploitation peut être un délimiteur différent de la virgule. Cependant, nous ne voulons pas dire à tous les clients de changer leur configuration de système d'exploitation. Existe-t-il une autre solution pour cela? Si je génère xls fichier au lieu de csv ce même problème viendra dans le futur non ???Obtenir la valeur des paramètres de langue utilisateur Windows
0
A
Répondre
0
Essayez cette fonction
function getUserLanguage() {
$langs = array();
if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
// break up string into pieces (languages and q factors)
preg_match_all('/([a-z]{1,8}(-[a-z]{1,8})?)\s*(;\s*q\s*=\s*(1|0\.[0-9]+))?/i',
$_SERVER['HTTP_ACCEPT_LANGUAGE'], $lang_parse);
if (count($lang_parse[1])) {
// create a list like â??enâ?? => 0.8
$langs = array_combine($lang_parse[1], $lang_parse[4]);
// set default to 1 for any without q factor
foreach ($langs as $lang => $val) {
if ($val === '') $langs[$lang] = 1;
}
// sort list based on value
arsort($langs, SORT_NUMERIC);
}
}
//extract most important (first)
foreach ($langs as $lang => $val) { break; }
//if complex language simplify it
if (stristr($lang,"-")) {$tmp = explode("-",$lang); $lang = $tmp[0]; }
return $lang;
}
Jetez un oeil à la réponse à http://stackoverflow.com/questions/1011628/detecting-regional-settings-list-separator-from-web#2812853 – rypskar