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

Installation MySQL Discussion :

[Charset for Japan] Incompréhension..


Sujet :

Installation MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de rgomes
    Homme Profil pro
    IT Developer JAVA Senior
    Inscrit en
    Juin 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : IT Developer JAVA Senior
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2004
    Messages : 128
    Par défaut [Charset for Japan] Incompréhension..
    Hello,

    Pour les besoins d'affichage de caractères japonais, j'ai modifier le fichier my.cnf en rajoutant :
    default-character-set=utf8
    default-collation=utf8_general_ci

    Mes caractères japonais s'affichent sur ma page web ou dans mon client sql.

    Le problème est qu'après le redémarrage, la taille des champs de type varchar a été réduite (varchar(20) -> varchar(6)) ce qui est bloquant pour les applis existantes...

    J'ai donc essayer de simplement créer mes tables de la sorte (sans modifier le my.cnf) :
    CREATE TABLE `TRADUCTIONS` (
    `ID` bigint(20) NOT NULL auto_increment,
    `APPLI` varchar(20) NOT NULL default '',
    `LABEL` varchar(100) NOT NULL default '',
    `EN` varchar(255) character set utf8 collate utf8_bin NOT NULL default '',
    `FR` varchar(255) character set utf8 collate utf8_bin NOT NULL default '',
    `JP` varchar(255) character set utf8 collate utf8_bin NOT NULL default '',
    `CREATION_TIME` datetime default NULL,
    `UPDATE_TIME` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
    PRIMARY KEY (`ID`),
    KEY `ID` (`ID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8

    Mais mes caractères japonais ne s'affichent plus !
    Help car je ne trouve plus de solution.

    Configuration : mysql.4.1.12, driver 3.1.12.

    Merci !

  2. #2
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    tu es sûr de bien insérer tes chaînes en tant qu'UTF-8 ?

    il y a t il quelque chose d'autre qui s'affiche à la place ?
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Membre confirmé Avatar de rgomes
    Homme Profil pro
    IT Developer JAVA Senior
    Inscrit en
    Juin 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : IT Developer JAVA Senior
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2004
    Messages : 128
    Par défaut
    Alors, j'opère de 2 façons :
    - soit à partir de mon client sql, je copie colle mon caractère japonais 番号また
    - soit a partir de mon formulaire html, ma servlet java spécifie bien l'encodage utf8 (request.setCharacterEncoding("UTF-8"); etc)

    A noter que les caractères japonais avec le my.cnf de base sont visibles lorsque je les avais insérés auparavant avec le my.cnf modifié, mais c est donc lorsque je fais à nouveau un insert que cela ne fonctionne plus.

    A la place j 'ai donc des ????????.

  4. #4
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    des ??? hein...

    tu as vérifié ce que recevait ta servlet ?

    pour ton client SQL, c'est lequel ?
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  5. #5
    Membre confirmé Avatar de rgomes
    Homme Profil pro
    IT Developer JAVA Senior
    Inscrit en
    Juin 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : IT Developer JAVA Senior
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2004
    Messages : 128
    Par défaut
    Le client SQL est DBVisualizer.
    Ma servlet recoit un request encoding = UTF-8 et request content type => application/x-www-form-urlencoded

    Mon url de connection a la DB contient les params :
    zeroDateTimeBehavior=convertToNull&UseUnicode=true&characterSET=UTF-8.

  6. #6
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    il doit logiquement il y avoir un moment où la connection sort du cadre UTF-8

    Par contre, il y a un point que je n'ai pas compris...

    Au lieu d'utiliser directement les caractères japonais, pourquoi ne pas utiliser leurs entitées HTML ( &#NUM; ) ? c'est transparent au niveau de la sortie (i.e. de l'affichage) HTML normalement, et ça ne pose pas de problème pour les modifications...

    Je sais que généralement, les navigateurs envoient les entités HTML pour les caractères japonais, c'est le cas pour mon FF sur DVP.com en tous cas : こんばんは suffit de jetter un oeil à la source et tu verras des &#....; (dans le cas présent : こんばんは )
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Boucle FOR incompréhensible
    Par malik0 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 04/01/2012, 12h05
  2. [Checkstyle] Erreur incompréhensible Unable to get class information for DecoratorException
    Par gronono dans le forum Qualimétrie
    Réponses: 3
    Dernier message: 04/06/2007, 15h38
  3. boucles while/for : syntaxe incompréhensible
    Par Loceka dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 14/12/2006, 21h04
  4. [XSLT]problème avec for-each incompréhensible
    Par trotters213 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 21/02/2006, 10h31

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