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 :

[SQL] Combinaison caractère cyrilliques et caractères "normaux"


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 106
    Points : 79
    Points
    79
    Par défaut [SQL] Combinaison caractère cyrilliques et caractères "normaux"
    Bonjour,

    Alors voilà, j'ai un 'petit' souci.

    Je dois rajouter une langue à un site multilangage, problème : c'est du russe !

    Le site est entièrement en php et html.

    Bien sûr, ça vient du charset utilisé. Maintenant je ne sais pas lequel utiliser pour le russe, quelqu'un peut-il m'aider ?

    Faut-il également que j'utilise un interclassement spécial pour la base de donnée sql ? Pour la connexion avec cette dernière ?

    Et si quelqu'un a déjà un peu d'expérience avec ce genre de choses, des conseils tout ça, je prends avec joie !

    Merci pour votre aide !
    La connaissance, c'est comme la confiture : moins on en a, plus on l'étale !
    Coluche

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 234
    Points : 15 531
    Points
    15 531
    Par défaut
    Je te conseille d'utiliser l'encodage UTF-8, cet encodage permet de tout stocker, cyrillique, hébreux, idéogrammes, etc.

  3. #3
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut Balise HTML
    Je ne suis pas familier de ce genre de chose mais je ferais comme ceci.

    Dans la balise HEAD de ton code HTML tu choisi l'encodage ISO-8859-5 bien qu'il existe 7 ou 8 types d'encodage pour le Cyrillic, celui-ci devrait faire affaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <head>
       <meta http-equiv="content-type" content="text/html"; charset=iso-8859-5">
    </head>
    Par contre le type d'éditeur de page HTML que tu vas utiliser a une importance capitale. Il est fort possible que celui-ci interprête les caractère qui sont contenu dans ta page et qu'il décide pour toi d'encoder en UTF-8.
    Je te conseil de faire des essais avec un éditeur bête et méchant pour commencer.

    Bon courage

    Thierry
    ----
    L'avenir appartient à ceux dont les salariés se lèvent tôt.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 106
    Points : 79
    Points
    79
    Par défaut
    Je vais essayer tout ça, je vous remercie pour votre aide.

    Je vous tiens au courant !
    La connaissance, c'est comme la confiture : moins on en a, plus on l'étale !
    Coluche

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 106
    Points : 79
    Points
    79
    Par défaut
    Merci pour votre aide, ça m'a déjà bien avancée.

    Mon problème se situe maintenant au niveau de la base de donnée. Elle veut rien savoir des caractères cyrilliques !

    Histoire que je fasse les choses proprement, vous pourriez me dire comment faire pour qu'il n'y ait pas de problème entre :

    - L'affichage html des caractères (aussi bien cyrilliques qu'occidentaux)
    - Le traitement en php desdits caractères
    - Leur enregistrement et/ou leur lecture à partir de la base de donnée mysql.

    J'ai quelques petites idées comme modifier l'interclassement dans la bdd (même si je n'ai qu'une vague idée de ce que c'est), mais je préfèrerai tout de même avoir vos conseils/suggestions avant de me mettre à tâtonner pendant plusieurs heures (je le sens venir )

    Merci d'avance !
    La connaissance, c'est comme la confiture : moins on en a, plus on l'étale !
    Coluche

  6. #6
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    644
    Détails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 644
    Points : 754
    Points
    754
    Par défaut
    Je m'excuse de réveiller un topic échu depuis bien longtemps mais
    j'ai encore
    un problème lié à la fonte cyrillique et l'UTF-8

    voici un extrait d'une source HTML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head>						   
    	<meta http-equiv	= "Content-Type" content="text/html;charset=utf-8" /> 	
    	...
    	<meta  name	=	......
    	<SCRIPT SRC	=	"JS/Rent.js"></SCRIPT>	  
    ...
    ce code invoque la source Rent.js dans laquelle une fonction accède l'E-Mail via

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ...
    window.location.href	=	
          "mailto:" + who_join + "@" + where_join +  
          "?cc=" + copy2 + 
          "&subject="   + escape( Mon_sujet) + 
          "&body=" + escape(Mon_text) ;		
    ...
    si les variables ( 'String' ) Mon_sujet et Mon_text sont en Russe,
    < par exemple ваше имя,...>
    elles sont parfaitement utilisable dans la page HTML mais apparaissent de façon illisible dans l'E-Mail
    < du type '%uDD60%u7C31%u3D0C%u2D60%uF035...'>

    Comment est-il possible de faire comprendre au gestionaire d'E-Mail le charset à utiliser?

    Question subsidiaire: je n'ai encore JAMAIS utiliser PHP, mon site étant encore en développement sur mon PC local. L'envoi d'un mail directement via PHP sans passer par le gestionaire d'E-Mail 'client' permet-il de résoudre un tel problème?

    remarque (au cas ou cela pourait mettre sur une piste): Dans la même source, si Mon_sujet et Mon_text utilisent le Français par exemple, le mot 'Français' apparaît avec C-cédille aussi bien dans l'html que dans l'E-Mail. Je n'ai pas vérifié tous les caractères spéciaux mais tous ceux que j'ai alors utilisés (é, è, à, °, ...) sont passés correctements sur l'E-Mail)

    merci pour toutes réponses!!!

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 106
    Points : 79
    Points
    79
    Par défaut
    Ayant trouvé la solution, il s'agit simplement d'un problème d'encodage sur chacun des fichiers qui va gérer les chaînes en cyrilliques.
    Autrement dis, utiliser le format UTF-8 partout pour éviter ce genre de choses.
    Y compris pour les fichiers HTML (c'est pour ça qu'il s'affiche correctement sur ta page), javascript (de là vient sûrement le problème), PHP (pour éviter d'en avoir plus tard ), et mysql (tout pareil).

    Utilise les header, mais pense également aux propriétés du fichier lui-meme.
    Si tu utilise Dreamweaver pour coder, c'est dans le menu "Modifier->Propriétés de la page...->Codage du document".

    Voilà, normalement ça devrait résoudre ton problème.

    Amicalement,

    Istrella
    La connaissance, c'est comme la confiture : moins on en a, plus on l'étale !
    Coluche

  8. #8
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    644
    Détails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 644
    Points : 754
    Points
    754
    Par défaut
    J'utilise DreamWeaver 8 < rarement> et usuellement AceHTML.
    l'encodage sur source-code est OK ( les réglages des SW sont fait!)
    Le problème est le CONTENU de OutlookExpress!
    dans les arguments de 'MailTo', je n'ai pas trouvé le moyen d'envoyer le charset du corps du texte ni celui du sujet!!!

    Pour répondre à la remarque j'avis déjà bien mis "charset=UTF-8" dans mes sorces code!

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 106
    Points : 79
    Points
    79
    Par défaut
    Désolée, j'avais mal compris !
    En fait c'est quasi certain, il faut faire passer le Charset de la même façon que l'on précise s'il est au format html ou texte brut. Malheureusement là je ne peut t'aider, personnellement je n'utilise pas mailto.

    Je peux te conseiller de mettre en place phpmailer que tu trouveras dans les sources. Il est simple à mettre en place et ne demande pas de grosses connaissances en php.
    Bien sûr ça reste une solution de rechange au cas ou tu ne trouve pas de solutions et si le fait d'utiliser le php n'est pas contraignant pour ton site.

    Désolée de ne pas pouvoir t'aider mieux. Bon courage !

    Amicalement,

    Istrella
    La connaissance, c'est comme la confiture : moins on en a, plus on l'étale !
    Coluche

Discussions similaires

  1. SQL et GUID : Valeur de caractère non valide pour la ....
    Par jackfirst72 dans le forum Bases de données
    Réponses: 5
    Dernier message: 06/03/2007, 10h46
  2. [XSL] Transformation xsl et jeu de caractères cyrillique
    Par Maximil ian dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 01/09/2005, 11h41
  3. [SQL] Problème de requête SQL de plus de 8060 caractères ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 06/04/2005, 15h07

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