Posez votre question Signaler

[Flash] Problème avec les accents (UTF8)

Paul - Dernière réponse le 16 mai 2012 à 13:58
Bonjour !
J'utilise Flash 8. J'ai crée un fichier swf qui récupère à l'aide de pages php un champ dans une base de données de type SQL (UTF8).
Quand j'utilise le backoffice (avec FCKeditor) je peux crée un article avec par exemple :
"Salut, Héo ?"
Cela enregistre dans la base de données :
"Salut, héo"
Je peux l'afficher correctement dans une page du site pas de problème, mais quand je récupère cette donnée dans Flash 8 je n'arrive pas a récupérer le fameux accent !
J'ai pourtant préciser que le champs texte est de type :
montexte.html=true;
montexte.htmlTexte=MonChampsEnBDD;
Ps : Flash gère bien le html, c'est a dire les balise <P> etc, mais pas ce fameux accent ! Pourquoi ?
Svp, donnez moi un petit coup de main !
Ps2: j'aide souvent sur ce forum pour une fois c'est moi qui demande un coup de main !
Lire la suite 

[Flash] Problème avec les accents (UTF8) »

33 réponses
Réponse
+7
moins plus
Une petite contrib car je suis tombé sur un promblème que j'ai réussi à résoudre.

Mon soucis était un fichier .txt apellé dans flash par un champ texte dynamique. Les accents n'étaient pas pris en compte.
J'ai suivi le conseil de zestefraicheur donc rajouter les glyphes latin basique et latin I mais ça ne marchait toujours pas.

J'ai donc ouvert mon .txt avec notepad++, puis "format" UTF-8. Tout les accents on étés remplacés par des caractères bizarres. Puis j'ai recollé mon texte avec les accents et là, miracle ça marche.
Aucune idée du pourquoi du comment mais ça marche très bien. J'ai testé sur plusieurs fichiers .txt et ça marche à tous les coups.

Voilà j'espère que ça va aider ceux qui rencontrerons ce problème.

@+
Luc
pete - 12 févr. 2010 à 18:00
t fort
oui - 27 févr. 2012 à 22:30
très utile ca maeche ! merci
passager - 16 mai 2012 à 13:58
En fait dans caractere/anti alias il faut selectionner texte bitmap
Ajouter un commentaire
Réponse
+6
moins plus
Salut à Tous,

En résumé voici ce qui semble fonctionner :

1. ACCENTS Dans Flash

- Sélectionnez la fenêtre de texte dynamique dans laquelle vous allez afficher votre texte
- dans les Propriétés , cliquez sur Intégrer
- puis dans la liste, en maintenant la touche CTRL, selectionnez 'Latin basique' et 'Latin I'


2. ACCENTS dans Flash à travers un fichier XML :

- Le modifier dans un éditeur (ex : Notepad++) choisir "encoder en UTF-8"
- Rentrer les accents
L'uploader en mode Binaire (ex Filezilla ) choisir Transfert -> Type de Transfert -> Binaire
moimoi - 18 mars 2011 à 17:11
if faut d'ailleurs décocher : MAJUSCULE - MINUSCULE- CHIFFRES
puis selectionnez 'Latin basique' et 'Latin I' dans les options d'incorporations de polices et tous ces caractères spéciaux sont BIEN AFFICHES ... merci pour cette bonne piste TURBABO
Sigognac - 22 janv. 2012 à 07:17
Merci pour les pistes.
Même conclusion que "moimoi".
Merci "Turbabo" et vous tous.

En effet, je travaillais un site XML Flash dont les lettres avec accents n'apparaissaient pas (é, à, etc.) Recherches, analyses, essais; j'ai été jusqu'à la conversion de fichier .js et j'en passe.
Lorsqu'une personne éclairée donne ici une solution, vous pouvez estimez qu'il y a du temps derrière.
En bref, il a suffit de "cocher" l'option "Latin I" pour chaque Font, dans le fichier Flash..

Je vous résume:
Dans le fichier .fla, j'ai localisé dans la "librairie" les éléments "Font".
Double-cliqué sur un, ce qui les a tous affiché.
Dans "propriété": appuyé sur l'option "embed": puis pour chaque font, sélectionné les types de caractères à intégrer, en l'occurence j'ai ajouté "Latin I".

Cela a fonctionné et les accents sont maintenant inclus.

Nb. Vérifiez néanmoins si la "font" utilisée comprend les accents à l'origine.
(en double-cliquant sur la font originale en dehors de flash, par exemple).

Tous ces détails techniques sont véritablement pénibles parfois, mais si c'est une part de votre métier, n'oubliez pas de le faire valoir, car un néophyte ignore toutes ces démarches.

Bon courage,
Minou14 - 23 janv. 2012 à 00:48
Ahhhhhhhhhhhhhhhhhhhhhhhh merci beaucoup beaucoup beaucoup J'ai passé 3 mois de ma vie à chercher la solution à ce problème et enfin... merci encore
Ajouter un commentaire
Réponse
+1
moins plus
utf8_encode() =)

Flash ne lit que du utf8 ;)
LoftFactory - 28 août 2008 à 15:42
T'es un génie! J'ai fait un milliard de sites et tu es le seul a avoir eu la réponse!

Un milliard de mercis!
katzestefraicheur - 2 nov. 2008 à 10:32
Super, merci ça marche nickel!
obonlezestefraicheur - 7 nov. 2008 à 14:02
Bravo c'est bien ça je cherchais l'astuce depuis un bon moment je suis passé par le utf8 l'enregistrement sur notepad en utf 8 etc...
encore bravo et merci pour l'aide.
Ajouter un commentaire
Réponse
+1
moins plus
1) header("Content-Type: text/html; charset=UTF-8");

2) Si tu utilise dreamwaver cs3, CTRL+J -->Titre/Codage en UTF-8

Ca doit être ça :)
padlup - 22 nov. 2008 à 20:27
pas suffisant
rajoute $talignexml=utf8encode($talignexml) avant de faire ton print
Bigsmock - 26 nov. 2008 à 10:18
Salut tout le monde,

Si ça ne marche toujours pas chez vous, ouvrez votre XML dans DREAMWEAVER et enregisrez le avec la premiere option d'enregistrement (celle par défaut).
J'ai cherché 1000 ans et enfin ça marce pour moi !
choupy - 22 janv. 2009 à 01:05
Bigsmock, un grand merci pour ton conseil, qui se révèle (après plusieurs heures sur cette problématique), tout à fait concluant ! J'utilise un fichier xml (UTF-8) et les caractères accentués ne s'affichaient pas dans mon swf. L'option "intégrer" du champ de texte dynamique, malgré la sélection des latins etc... niet.
J'ai donc enregistré-sous, le fichier xml depuis Dreamweaver...
Option à choisir ds "Formulaire de normalisation Unicole" : C (Décomposition canonique suivis d'une composition canonique).
Sans cocher la case "Inclure une signature Unicole (BOM)", ça ne fonctionnait pas. Et le miracle fût. Donc cocher cette option en +.
La classe man. ;-)
Ajouter un commentaire
Réponse
+1
moins plus
Bonjour Messieurs et comme les exceptions ne font pas les règles,je voudrais intervenir un peu à la manière LoftFactory, pour vous dire d'avance Milles Merci

14
choupy, le jeudi 22 janvier 2009 à 01:05:01 -> çà ne marche pas !!!!!

J'ai donc suivi vos conseils mais aucunes résolutions possible alors voici les codes xml et actionscript :

pour XML::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

<?xml version="1.0" encoding="utf-8"?>
<content
delayTime = "9"
slideshowX = "25"
slideshowY = "25"
menuVisible = "yes"
menuDirection = "x"
menuX = "25"
menuY = "433"
menuSpacing = "18"
menuOutEdgeColor = "0x000000"
menuOutBgColor = "0x333333"
menuOverEdgeColor = "0x000000"
menuOverBgColor = "0x999999">

<slideshow>
<photoX>0</photoX>
<photoY>20</photoY>
<textX>0</textX>
<textY>330</textY>
<textWidth>850</textWidth>
<photo>home_images/1.jpg</photo>
<description>
<![CDATA[Bonjour.............Vous trouverez sur ce support une collection <font color="#00FF00"> d'outils et conseils</font> ainsi que quelques fichiers Multimédias]]>
</description>
</slideshow>

<slideshow>
<photoX>0</photoX>
<photoY>40</photoY>
<textX>0</textX>
<textY>0</textY>
<textWidth>850</textWidth>
<photo>home_images/2.jpg</photo>
<description>
<![CDATA[Je vous propose la<font color="#00FF00"> Restauration du système</font> selon trois procédure ......................... pour faciliter la vie!]]>
</description>
</slideshow>

</content>


et pour flash ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

//-------------------------CREATE CONTROLS
//create a movie clip which will hold the menu (boxes for each picture)
this.createEmptyMovieClip("slideMenu",this.getNextHighestDepth());

//--------------------------LOAD XML DATA

function loadXML(success) {
if (success) {
xmlNode = this.firstChild;
photoX = [];
photoY = [];
textX = [];
textY = [];
textW = [];
photo = [];
description = [];
total = xmlNode.childNodes.length;
//for loop attributes of each slide
for (i=0; i<total; i++) {
photoX[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
photoY[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
textX[i] = xmlNode.childNodes[i].childNodes[2].firstChild.nodeValue;
textY[i] = xmlNode.childNodes[i].childNodes[3].firstChild.nodeValue;
textW[i] = xmlNode.childNodes[i].childNodes[4].firstChild.nodeValue;
photo[i] = xmlNode.childNodes[i].childNodes[5].firstChild.nodeValue;
description[i] = xmlNode.childNodes[i].childNodes[6].firstChild.nodeValue;
}
//main slide attributes
delayTime = Number(this.firstChild.attributes.delayTime*1000);

slideshowX = Number(this.firstChild.attributes.slideshowX);
slideshowY = Number(this.firstChild.attributes.slideshowY);

holder_mc._x = Number(slideshowX);
holder_mc._y = Number(slideshowY);

menuVisible = this.firstChild.attributes.menuVisible;
//set slide visible/invisible according to the XML file
if (menuVisible == "no" || menuVisible == "NO") {
slideMenu._visible = false;
} else {
slideMenu._visible = true;
}

menuDirection = this.firstChild.attributes.menuDirection;

menuX = Number(this.firstChild.attributes.menuX);
menuY = Number(this.firstChild.attributes.menuY);
menuSpacing = Number(this.firstChild.attributes.menuSpacing);

//Slideshow controls X and Y positions
slideMenu._x = menuX;
slideMenu._y = menuY;

menuOutEdge = this.firstChild.attributes.menuOutEdgeColor;
menuOutBg = this.firstChild.attributes.menuOutBgColor;
menuOverEdge = this.firstChild.attributes.menuOverEdgeColor;
menuOverBg = this.firstChild.attributes.menuOverBgColor;

//initialize menu
initMenu();
//initialize slide
initSlide();
} else {
trace("Error loading XML");
}
delete xmlData;
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("home.xml");

//----------------------------MAIN FUNCTIONS

//clear the interval in the beginning
//(just incase user clicks on a different menu
//and goes back - start timer over)
function clearListener() {
clearInterval(timeInterval);
}

etc......................... Well apres cette analyse,s'il vous reste quelques instant pour me répondre alors "retour ligne 1".

Mon é-mail : ggi@laposte.net
Ajouter un commentaire
Réponse
+1
moins plus
ça march le UTF8,il accepte tous les accents,jai u le mem problem ke ofwolfandlucho,même système d'appel de fichier text par flash,j'ai cherché pendant des heures.....et j'ai trouvé,je vous aimmmmmmmm,wahou ,ça maaaaaaaaaaaaaaaarch!!!!
BBFUNK01 - 4 mai 2010 à 20:19
Hello,

merci à tous pour vos contributions et surtout vos solutions à un problème qui somme toute bidon, quand on connaît la solution, commençait à me faire fumer les oreilles ;-)

A plus,

BBFUNK01
Ajouter un commentaire
Réponse
+0
moins plus
Correction -> Cela enregistre dans la base de données :

"Salut toi ! & eacute ; ho!"

(Désole mon message a été interprété.. comme quoi lol)
Paul - 3 mai 2007 à 18:22
Je précise, désole j'ai oublié que j'utilise AMFPHP 1.4...
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,
le mem pb :'(
Ajouter un commentaire
Réponse
+0
moins plus
Hello, merci pour le tuyau mais ça ne fonctionne pas j'ai le même problème, dès qu'un caractère porte un accent ou que je retrouve des caractères spéciaux comme ' " le caractère n'est pas affiché par flash.
Perso je puise les données dans un xml et j'affiche dans du flash sur une page web.
Je suis partout en UTF-8 je ne vois pas quel réglage supplémentaire pourrait résoudre le pb ! ?
Ajouter un commentaire
Réponse
+0
moins plus
Pareil, prend mes données dans du XML pour les lire dans le flash mais malgré UTF-8 et la textbox dynamique qui intégre ce qu'il faut ça ne marche pas... ça vient du xml?
Ajouter un commentaire
Réponse
+0
moins plus
Alors le coup d'enregistrer le XML via Dremaweaver ca marche bien en effet, par contre pour moi la condition c'etatit que mon texte dynamique Utiliser les polices périphériques ... Et là pas de soucis ...
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,
J'avais le même souci d'accentuation avec mes fichiers XML... et je viens de trouver la soluce (et comme d'hab. avec le binaire, c'est tout bête !) : au moment d'uploader vos fichiers XML sur votre FTP, assurez-vous de les envoyer en données brutes ! (et pas en automatique, ou texte ou binhex,...)
Voilà j'espère que ça en aidera quelqu'un(e)s ;)
Ajouter un commentaire
Réponse
+0
moins plus
Halala... Même avec toutes ces solutions, rien ne se passe... Je suis bien deg. quand même !!
ça fait 2 jours que je suis sur ce problème !!!

Je suis tout frustré !!
fod - 4 mars 2010 à 13:39
Salut Mota,

as tu finalement trouvé la solution à ton probleme ?
Ajouter un commentaire
Ce document intitulé « [Flash] Problème avec les accents (UTF8) » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?