Maison  >  Article  >  développement back-end  >  Que faire si Oracle PHP est tronqué ?

Que faire si Oracle PHP est tronqué ?

藏色散人
藏色散人original
2020-07-25 10:10:452831parcourir

Solution au code tronqué d'Oracle : exécutez d'abord "select * from V$NLS_PARAMETERS;" via PLSQL pour obtenir le jeu de caractères d'Oracle, puis définissez correctement les informations de jeu de caractères du serveur sur le client.

Que faire si Oracle PHP est tronqué ?

Recommandé : "Tutoriel PHP"

Problème tronqué PHP Oracle chinois

Habituellement, lors de la connexion à Oracle avec la configuration par défaut, vous rencontrerez des caractères tronqués lors du traitement du chinois. En fait, la plupart des gens savent qu'avant que le client ne se connecte au serveur Oracle, les informations de jeu de caractères du serveur doivent être correctement définies. le client d'abord, via PLSQL Exécutez "select * from V$NLS_PARAMETERS;" pour obtenir le jeu de caractères d'Oracle. La variable NLS_CHARACTERSET correspond au jeu de caractères dont nous avons besoin. Par exemple, voici "WE8ISO8859P1"

La méthode de. la définition du jeu de caractères est la suivante :

Première méthode : définir les variables d'environnement avant de se connecter

putenv("NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1");
$conn=oci_new_connect($config['username'], $config['password'],$config['database']);

Introduction connexe :

Oracle Oracle général Oracle Corporation, le nom complet d'Oracle Corporation (Oracle Software Systems Co., Ltd.), est la plus grande société de logiciels d'entreprise au monde, dont le siège est à Redwood Beach, en Californie, aux États-Unis. Entré officiellement sur le marché chinois en 1989. En 2013, Oracle a dépassé IBM et est devenu le deuxième éditeur de logiciels au monde après Microsoft.

Méthode 2 : Définir les variables d'environnement lors de la connexion
$conn=oci_new_connect($config['username'], $config['password'],$config['database'],'we8iso8859p1');

Mais vous constaterez bientôt que les données chinoises lues via les paramètres ci-dessus ne définissent pas l'encodage. peut être affiché normalement, mais une fois utilisé dans la page (si le jeu de caractères de la page est UTF8), il sera toujours tronqué,

et même s'il est converti de we8iso8859p1 -> il sera toujours tronqué.

En fait, après une étude approfondie, j'ai découvert qu'oci8 convertit automatiquement les données au format d'encodage par défaut du système d'exploitation après avoir obtenu les données avec l'encodage de base de données WE8ISO8859P1 si l'encodage par défaut du système d'exploitation que j'utilise. est GBK, il sera en fait lu via OCI8 , le codage des caractères est GBK, donc lorsqu'il est utilisé sur la page, la conversion de codage doit être de GBK ->

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn