Rechercher : dans
Par :

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

Dernière réponse le 18 sep 2009 à 10:03:00 Paul, le 3 mai 2007 à 18:11:22 
 Signaler ce message aux modérateurs

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 !

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « [Flash] Problème avec les accents (UTF8) » dans :
Utiliser des accents et autres caractères spéciaux VoirDans la plupart des langages de programmation, on ne peut utiliser directement les accents et autres caractères non-anglosaxon. La solution est l'unicode, une sorte de code universel. Par exemple pour afficher la chaine de caractères : " là, ça...
Formater une carte mémoire flash VoirLes cartes mémoire flash doivent nécessairement être formatées avec le système de fichiers FAT16 pour pouvoir être utilisées par les périphériques (Appareil photo, PDA, téléphone, etc.). Or, pour des cartes mémoire de capacité supérieure à 32Mo,...
Supprimer les accents avec PHP VoirPour un tas de raisons, il est parfois utile de convertir un texte accentué en un texte sans accents. Voici une fonction permettant de transformer très simplement la quasi-totalité des accents en leur équivalent non-accentués : function...
Caractères spéciaux HTML VoirCodage des caractères spéciaux Le standard HTML demande de respecter le codage des caractères ASCII 7 bits, c'est-à-dire que les caractères accentués ne sont pas autorisés. Il faut pour cela utiliser un codage particulier. Pour...
Carte mémoire (mémoire Flash) VoirIntroduction à la mémoire Flash La mémoire flash est une mémoire à semi-conducteurs, non volatile et réinscriptible, c'est-à-dire une mémoire possédant les caractéristiques d'une mémoire vive mais dont les données ne se volatilisent pas lors...
Carte mémoire Compact Flash VoirCompact Flash La mémoire Compact Flash (notée parfois CF) est un type de carte mémoire créé en 1994 par la firme SanDisk. La mémoire Compact Flash est constituée d'un contrôleur mémoire et de mémoire flash contenues dans un boîtier de faible...

1

Paul, le 3 mai 2007 à 18:13:10

Correction -> Cela enregistre dans la base de données :

"Salut toi ! & eacute ; ho!"

(Désole mon message a été interprété.. comme quoi lol)

Répondre à Paul

2

Paul, le 3 mai 2007 à 18:22:03

Je précise, désole j'ai oublié que j'utilise AMFPHP 1.4...

Répondre à Paul

3

juju, le 17 oct 2007 à 15:39:16

Bonjour,
le mem pb :'(

Répondre à juju

4

santo, le 20 déc 2007 à 14:58:33
  • +1

Utf8_encode() =)

Flash ne lit que du utf8 ;)

Répondre à santo

5

zestefraicheur, le 31 mai 2008 à 01:34:02

Pas forcement! Flash Cs3 lit désormais de nombreux formats. Il suffit juste de lui indiquer quelle banque de caractères il lui faut charger.

Voici la procédure :

- Selectionnez 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'

...et les accents vont apparaître

Répondre à zestefraicheur

7

LoftFactory, le 28 aoû 2008 à 15:42:27
  • +1

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!

Répondre à LoftFactory

9

kat, le 2 nov 2008 à 10:32:33

Super, merci ça marche nickel!

Répondre à kat

11

obonle, le 7 nov 2008 à 14:02:58

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.

Répondre à obonle

6

vct, le 29 jui 2008 à 13:46:37

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 ! ?

Répondre à vct

8

MGG, le 15 oct 2008 à 10:50:19

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?

Répondre à MGG

10

aide, le 5 nov 2008 à 00:18:27
  • +1

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 :)

Répondre à aide

12

padlup, le 22 nov 2008 à 20:27:59

Pas suffisant
rajoute $talignexml=utf8encode($talignexml) avant de faire ton print

Répondre à padlup

13

Bigsmock, le 26 nov 2008 à 10:18:55

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 !

Répondre à Bigsmock

14

choupy, le 22 jan 2009 à 01:05:01

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. ;-)

Répondre à choupy

15

ofwolfandlucho, le 12 mar 2009 à 13:05:53
  • +2

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

Répondre à ofwolfandlucho

16

gi29, le 18 mar 2009 à 02:03:50

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

Répondre à gi29

17

Chouch74, le 28 jui 2009 à 10:36:44

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 ...

Répondre à Chouch74

18

 écard, le 18 sep 2009 à 10:03:00

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 ;)

Répondre à écard
Collection CommentÇaMarche.net