Salut
j'ai essayé toutes les étapes du tuto "passage en UTF-8 sans rater une étape" mais le problème des caractères arabes ne se corrige pas. Alors, comment faire?
Salut
j'ai essayé toutes les étapes du tuto "passage en UTF-8 sans rater une étape" mais le problème des caractères arabes ne se corrige pas. Alors, comment faire?
L'arabe, avec son écriture droite-à-gauche, est un problème plus complexe que d'habitude.
Ce tutoriel devrait suffire... S'il est bien suivi. Il faudrait tester avec des textes simples contenant des caractères japonais 日本語 et des notes de ♪ musique ♫ ici ou là. C'est facile à voir et à tester, ça permet de vérifier si on s'est trompé avec un cas simple.
Si le problème persiste, c'est les spécificités du droite-à-gauche qui posent problème. Ou de l'arabe lui-même, écriture très ligaturée. C'est autre chose. Il va falloir en parler plus clairement, montrer une page d'exemple, et le faire dans une autre discussion.
merci "Thelvin"
je comprends bien que l'arabe est complexe, mais certainement il y en a une solution que je dois trouver
je crois que j'ai trouvé une solution pour l'affichage des caractères arabes:
j'ai essayé de changer "UTF-8" par "windows-1256" et ça marché (pour les textes fixes) mais pour les champs à récuperer de la base restent toujours des "???"
Merci à tous les amis, merci "Thelvin"
bon je comprends tout à fait que c'est difficile de résoudre mon problème sans savoir ce que je cherche exactement (désolé car j'ai cru que j'ai publié ma demande avant)
bon, bref: ce que je cherche: "Comment créer ma propre base données & l'activer"
je souhaite créer une base de données qui permet de gérer les données du personnels dans une petite administration
(cette base nomée: trfdb) qui contient un tableau (trf)
ce tableau contient:
* no
* nom&prenom
* datenaissance
* lieunaissance
* cin
* identifiantunique
* gradeactuel
* gradeentree
* dateentree
* gradeobtention
* diplomes
* fonction
* intirimes
* postesanterieurs
* adresse
* tel
* domiciliationsalaire
* nocompte
je veux faire de sorte que lorsqu'on tape :
- no
- ou bien cin
- ou bien identifiantunique
j'obtiendtari tous les détails concernant la personne de cet entrée (no ou cin ou identifiantunique)
je dispose des outils suivants:
- dreamweaver v8 fr
- easyPHP v12.1
- MS office
Alors, je vous demande de m'aider à réaliser mon objectif optimalement, on me donnant les étapes, procédure, comment faire, etc...
et merci infiniment.
Moula
***************************
***************************
j'ai déjà créer ma base & y ajouter un tableau avec des données insérées
je demande comment faire par la suite (lier cet base avec une page web contenant champs à saisir & bouron valider pour méner à une autre page de réponse sur ma réquete)
*************************
************************
j'ai trouvé quelques tutos sur internet (par google) & qui m'ont bien aidé
mais je suis arrivé au niveau d'afficher les données (selon un critère choisi)
le probleme est que l'affichage n'est pas vraimenet très agréable
alors comment pourrai je avoir mes données sous forme d'un tableau?
************************
************************
voilà "code" de mes pages:
index.php:
Code php : 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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1256" /> <title>trfaccueil</title> </head> <body> <p> <marquee direction="right"><font size=6 color="#000099">Bienvenue à la Base de Données de la Trésorerie Régionale des Finances Tozeur</font></marquee><br /></p> <br /> <p> <marquee direction="left"><font size=6 color="#CC0000">مرحبـا بكم في موقع قاعدة بيـانات أمانة المال الجهويـة تـوزر</font></marquee><br /></p> <p> <?php header( 'content-type: text/html; charset=utf-8' ); ?> <font size="5"><?php echo '<p> Bonjour ! Aujourd\' hui, c\' est Le '.date("l : j - m - y").' !</p>'; ?></font> </p> <?php mysql_set_charset( 'utf8' ); ?> <?php function connecttrfdb(){ $base = mysql_connect ('localhost', 'root', ''); mysql_select_db ('trfdb', $base) ; } ?> <?php connecttrfdb(); ?> <?php echo '<h2>Choisissez le champ qui vous intéresse et entrez manuellement un critère</h2>'; echo '<h4>Une absence de critères vous montre toutes les données du champ</h4>'; ?> <!-- Commentaires HTML On construit une liste déroulante ( un select et plusieurs options) Chaque option sera remplie par une donnée SQL récupérée par notre requête PHP --> <form method="post" action="cible.php"> <select name="champ"> <?php //On se connecte connecttrfdb(); //On prépare la requête SQL qui récupère les champs $sql = 'Show fields from trf'; /* On lance la requête (mysql_query) et on impose un message d'erreur si la requête ne passe pas (or die) */ $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); //On scanne le résultat et on construit chaque option avec while($data = mysql_fetch_array($req)){ // on affiche chaque champ echo '<option name="'.$data['Field'].'">'.$data['Field'].'</option>'; } //On libère mysql de cette première requête mysql_free_result ($req); //On ferme le select ?> </select> Entrez votre critère de sélection sur ce champ : <input type="text" name="critere"/> <input type="submit" name="valider" value="OK"/> </form> <!-- On ferme le formulaire --> <?php //On traite le formulaire if(isset($_POST['valider'])){ $champ=$_POST['champ']; $critere=$_POST['critere']; // On prépare la requête //requête différente selon qu'on veut tout le champ //ou un champ avec une condition if(($critere=='')||($critere==NULL)){ $sql='SELECT '.$champ.' FROM trf'; } else{ $sql = 'SELECT * FROM trf WHERE '.$champ.'="'.$critere.'"'; } /* On lance la requête (mysql_query) et on impose un message d'erreur si la requête ne passe pas (or die)*/ $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); //Affichage du résultat echo'<h2>Résultat</h2>'; //On scanne chaque résultat et affiche while($data = mysql_fetch_array($req)){ /* on affiche les résultats C'est pas très propre mais la fonction print_r vous permet de tout voir sur votre objet tableau : Quand vous êtes complètement perdu sur ce que votre tableau est censé comporter : Tapez cette commande print_r($tableau), vous retrouverez facilement la structure du tableau (index et valeurs)*/ print_r($data); echo'<br/>'; } //On libère la mémoire mobilisée pour cette seconde requête dans SQL mysql_free_result ($req); //On ferme sql mysql_close (); } ?> </body> </html> ******************** ******************* page cible.php : <head><title>RESULTAT DE VOTRE DEMANDE</title><meta http-equiv="Content-Type" content="text/html; charset=windows-1256"><style type="text/css"> <!-- body { background-color: #FFEAFF; } --> </style></head> <body> <p> <p> <?php function connecttrfdb(){ $base = mysql_connect ('localhost', 'root', ''); mysql_select_db ('trfdb', $base) ; } ?> <?php connecttrfdb(); ?> </p> <p> <?php echo'<h2><p align="center"><font color="blue">RESULTAT DE VOTRE DEMANDE</font></p></h2>'; ?> <?php //On traite le formulaire if(isset($_POST['valider'])){ $champ=$_POST['champ']; $critere=$_POST['critere']; // On prépare la requête //requête différente selon qu'on veut tout le champ //ou un champ avec une condition if(($critere=='')||($critere==NULL)){ $sql='SELECT '.$champ.' FROM trf'; } else{ $sql = 'SELECT * FROM trf WHERE '.$champ.'="'.$critere.'"'; } /* On lance la requête (mysql_query) et on impose un message d'erreur si la requête ne passe pas (or die)*/ $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); //Affichage du résultat echo '<table>'; while ($data = mysql_fetch_array($req)) { echo '<tr>'; // on affiche les résultats sous forme tableau (colonne par colonne) echo 'N°'; echo '<td>'.$data['no'].'</td>'; echo 'Nom & prénom:'; echo '<td>'.$data['nom'].'</td>'; echo 'CIN:'; echo '<td>'.$data['cin'] .'</td>'; echo 'Identifiant unique:'; echo '<td>'.$data['identifiantunique'] .'</td>'; echo 'Date de naissance:'; echo '<td>'.$data['datenaissance'] .'</td>'; echo 'Lieu de naissance:'; echo '<td>'.$data['lieunaissance'] .'</td>'; echo 'Etat civil:'; echo '<td>'.$data['etatcivil'] .'</td>'; echo 'Enfants:'; echo '<td>'.$data['enfants'] .'</td>'; echo 'Grade actuel:'; echo '<td>'.$data['gradeactuel'] .'</td>'; echo 'Grade d\'entrée:'; echo '<td>'.$data['gradeentree'] .'</td>'; echo 'Date d\'entrée:'; echo '<td>'.$data['dateentree'] .'</td>'; echo 'Grade obtention:'; echo '<td>'.$data['gradeobtention']. '</td>'; echo 'Fonction:'; echo '<td>'.$data['fonction'] .'</td>'; echo 'Diplomes:'; echo '<td>'.$data['diplomes'] .'</td>'; echo 'Stages & Formations:'; echo '<td>'.$data['stagesformations'] .'</td>'; echo 'Postes anterieurs:'; echo '<td>'.$data['postesanterieurs'] .'</td>'; echo 'Intirimes:'; echo '<td>'.$data['intirimes'] .'</td>'; echo 'N° Tel:'; echo '<td>'.$data['tel'] .'</td>'; echo 'Adresse:'; echo '<td>'.$data['adresse'] .'</td>'; echo 'Domiciliation de salaire:'; echo '<td>'.$data['domiciliationsalaire'] .'</td>'; echo 'N° de compte:'; echo '<td>'.$data['nocompte'] .'</td>'; echo '</tr>'; } echo '</table>'; //On libère la mémoire mobilisée pour cette seconde requête dans SQL mysql_free_result ($req); //On ferme sql mysql_close (); } ?> </p> </body> </html>
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager