IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Invalid byte sequence for encoding UTF-8


Sujet :

PHP & Base de données

  1. #1
    Membre averti Avatar de Fooshi
    Homme Profil pro
    ICD
    Inscrit en
    Juin 2002
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ICD
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 507
    Points : 359
    Points
    359
    Par défaut Invalid byte sequence for encoding UTF-8
    Bonjour !
    j'ai développé une extension qui permets entre autres d'exécuter des requêtes sql pour un serveur postgresql, l'extension php fonctionne très bien en ligne de commande c'est a dire lorsque je lance "php.exe test.php"
    mais maintenant que je test sous apache (uniserver plus précisément c'est un serveur qui contiens apache) le serveur postgresql me renvoie une erreur :

    invalid byte sequence for encoding "UTF-8"
    dans ma page php j'ai rajouté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Content-type: text/html; charset=utf-8');
    est ce qu'une modification dans le fichier de configuration d'apache peu regler ce probleme ? merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 343
    Points : 392
    Points
    392
    Par défaut
    UTF-8 peut coder sur une longueur de bytes variables. C'est une des difficulté pour calculer des longueurs de chaines avec PHP.
    Peut-être, il faut chercher de ce côté.

  3. #3
    Membre averti Avatar de Fooshi
    Homme Profil pro
    ICD
    Inscrit en
    Juin 2002
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ICD
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 507
    Points : 359
    Points
    359
    Par défaut
    Je vais poster une bout de mon code peu etre que ca aidera :

    voici 2 fonctions que j'ai developpé dans une extension php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    module_test_sql($net_client, NULL, 'joe');
    module_test_insert($net_client, NULL, 1, 2, 'essai');
    vous l'aurez compris la première permet de faire une requête SELECT, la deuxième permet de faire une requete INSERT, au debut j'avais mis des doubles quotes a "joe" et j'avais la meme erreur mais en mettant des simples quotes ca a fonctionné nickel mais ca n'a pas resolu le probleme sur la fonction module_test_insert.

    je vous donne la fonction module_test_insert :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    PHP_FUNCTION(module_test_insert)
    {
    	struct net_func_instance  * instance;
    	struct net_client		  * net_client;
    	struct net_func_callbacks * callbacks;
    	net_int_t	bla;
    	net_int_t	foo;
    	net_char_t bar [16];
    	long arg_net_client;
    	long arg_callbacks;
    	long arg_bla;
    	long arg_foo;
    	char * arg_bar;
    	long arg_bar_length;
    	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lllls", &arg_net_client, &arg_callbacks, &arg_bla, &arg_foo, &arg_bar, &arg_bar_length) == FAILURE)
    	{
    		php_error_docref(NULL TSRMLS_CC, E_WARNING, "module_test_insert : A parameter is missing");
    		RETURN_FALSE;
    	}
    	net_client = (struct net_client *) arg_net_client;
    	callbacks  = (const struct net_func_callbacks *) arg_callbacks;
    	bla		   = (const net_int_t) arg_bla;
    	foo		   = (const net_int_t) arg_foo;
    	strncpy(bar, arg_bar, arg_bar_length);
    	instance   = net_client_call_function(net_client, &test_insert_func_def, callbacks, bla, foo, bar);
    	if (instance == NULL)
    	{
    		RETURN_NULL();
    	}
    	else
    	{
    		RETURN_LONG((long) instance);
    	}
    }

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Et ceci donne quoi


Discussions similaires

  1. Réponses: 15
    Dernier message: 10/02/2009, 08h19
  2. [XStream] Problème "Invalid byte 2 of 3-byte UTF-8 sequence"
    Par Lolitaaa dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 24/11/2008, 18h08
  3. [DOM] Invalid byte 2 of 3-byte UTF-8 sequence.
    Par aroua dans le forum Format d'échange (XML, JSON...)
    Réponses: 10
    Dernier message: 14/05/2008, 15h20
  4. [XSLT] [Xsl/Fop] Invalid byte 3 of 3-byte UTF-8 sequence
    Par Eylir dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 27/12/2007, 11h49
  5. Invalid byte 2 of 3-byte UTF-8 sequence
    Par Finrod dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 06/06/2007, 10h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo