Pages : 1
#1 Le 19/08/2008, à 16:40
- aktos
problème de caractere php
Je fais une migration d'une application vers une autre. Je dois lire un table et remplir une autre en php. Le problème que j'ai c'est que les é et autres caractères ne passe pas. C'est une table mysql vers une autre.
Dernière modification par aktos (Le 19/08/2008, à 16:40)
Kubuntu 14.04 Suivez moi sur gnusocial ou sur hubzilla
mes expériences et réflexions sur linux
Hors ligne
#2 Le 19/08/2008, à 17:20
- rniamo
Re : problème de caractere php
la table est en utf8, isomachindewindows ?
< Quelques un des mes programmes | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
\ ^__^
\ (o o)\_______
(___)\ )\
Hors ligne
#3 Le 19/08/2008, à 18:29
- aktos
Re : problème de caractere php
je travail sous ubuntu, sous windows, je n'ai pas ce genre de problème.
Les tables sont sous latin1_general_ci.
Faut il travailler au format utf8 ou iso. J'ai l'impression que utf8 pose vraiment problème.
Dernière modification par aktos (Le 19/08/2008, à 18:45)
Kubuntu 14.04 Suivez moi sur gnusocial ou sur hubzilla
mes expériences et réflexions sur linux
Hors ligne
#4 Le 19/08/2008, à 20:05
- rniamo
Re : problème de caractere php
linux est en utf8, si tu peux tout mettre en utf8 c'est mieu (n'oubli pas le charset des page html).
< Quelques un des mes programmes | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
\ ^__^
\ (o o)\_______
(___)\ )\
Hors ligne
#5 Le 21/08/2008, à 16:52
- aleph
Re : problème de caractere php
> la table est en utf8, isomachindewindows ?
> linux est en utf8, ...
Affirmer que linux est en utf-8 est aussi incorrect que prétendre que Windows utilise iso-***.
Certaines distributions de linux privilégient utf-8 dans certaines applications.
Windows dans sa versions de l'Europe de l'Ouest est plutôt cp1252.
Cela dit, quelle que soit la plateforme, ce sont bien souvent les applications qui dictent quelle est le codage à utiliser et/ou proposent un codage par défaut (langages de progammation, base de données, ...)
#6 Le 06/09/2008, à 19:55
- aktos
Re : problème de caractere php
Bon j'ai repousé le problème mais toujours pas de solution
voici mon code
$strsql = "select * from anciennetableype ";
$result = mysql_query($strsql);
while($row = @mysql_fetch_array($result))
{
// ici faire une creation pour la nouvelle table
$table = $fileprefix."tablenouvelle";
$strsql = "INSERT INTO $table (";
$strsql .= "champ1";
$strsql .= ",champs2";
...
$strsql .= ") ";
$strsql .= " Values( ";
$strsql .= "'".$row["champ1"]."' ";
$strsql .= ",'".$row["champ2"]."' ";
...
$strsql .= ") ";
mysql_query($strsql);}
Dans phpmyadmin mon ancienne table est
latin1_general_ci
dans la nouvelle aussi C'est ce que j'ai par défaut quand je crée une table.
Je précise que je travail sous kubuntu ( mais ai je besoin ici ? ) et mon éditeur est kate.
Quelque fois je suis obligé de faire menu outil puis encodage et je choisi iso8859-1 car par défaut cela doit être utf8.
Dernière modification par aktos (Le 06/09/2008, à 20:08)
Kubuntu 14.04 Suivez moi sur gnusocial ou sur hubzilla
mes expériences et réflexions sur linux
Hors ligne
#7 Le 07/09/2008, à 13:54
- rniamo
Re : problème de caractere php
en même temps ubuntu est par défaut en utf8 et windows version européenne en iso8859-1...
Pour ton problème je crois que php fournit des fonction de conversion en fonction du charset.
< Quelques un des mes programmes | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
\ ^__^
\ (o o)\_______
(___)\ )\
Hors ligne
#8 Le 07/09/2008, à 15:30
- aleph
Re : problème de caractere php
> en même temps ubuntu est par défaut en utf8 et windows version européenne en iso8859-1...
Ca n'a aucun sens (on ne peut même pas dire que c'est faux) et tu n'as pas lu le message #6.
Le problème d'aktos est des plus classiques.
J'avais en son temps illustré ce type de problème à l'aide d'un petit bout de code en Python.
Voir http://forum.ubuntu-fr.org/viewtopic.php?id=197266&p=2 msg #35
#9 Le 07/09/2008, à 15:56
- rniamo
Re : problème de caractere php
@aleph (et désolé du HS) : tu peux expliquer stp ? Un OS à un codage par défaut, ubuntu a choisi l'utf-8, non ? Et je ne comprend pas pourquoi la solution php/mysql ne va pas ? Je l'avais fait et ça marchait.
Dernière modification par rniamo (Le 07/09/2008, à 15:57)
< Quelques un des mes programmes | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
\ ^__^
\ (o o)\_______
(___)\ )\
Hors ligne
#10 Le 07/09/2008, à 19:04
- aleph
Re : problème de caractere php
> rniamo
> @aleph (et désolé du HS) : tu peux expliquer stp ? Un OS à un codage par défaut, ubuntu a choisi l'utf-8, non ? Et je ne comprend pas pourquoi la solution php/mysql ne va pas ? Je l'avais fait et ça marchait.
Un os n'a pas intrinsèquement un codage dédié, il se trouve qu'un os accorde sa préférence à un encodage pour un ensemble d'outils de base. Ainsi Ubuntu est plutôt utf-8, Windows (Europe de l'Ouest) cp1252 et cp850 pour la console DOS et une autre distribution Linux sera iso-8859-15. En gros, un utilisateur qui ne comprend pas et/ou ne sait pas ce que sont les codages fera inconsciemment du cp1252 avec NotePad sous Windows et du utf-8 avec gedit.
Dès que tu passes à une application ou un outil plus sophistiqué ou un ensemble d'outils, interface graphique, base de données, langage de programmation ou traitement de texte, c'est le codage de chacun de ces outils/applications qui prend le dessus. Il devient alors nécessaire de prendre conscience quel est le codage de chaque partie et d'agir en conséquence. C'est généralement là qu'est la cause du problème (s'ajoute à cela la compréhension de ce que sont les codages et comment les manipuler).
Et ceci est valable pour toutes les plateformes.
Un exemple concret pas si exotique :
Ecrire des scripts Python en ascii et lire une base de données utf-16 pour afficher le résultat des requêtes dans une console utf-8.
#11 Le 07/09/2008, à 23:22
- rniamo(hors ligne)
Re : problème de caractere php
c'est ça ... faut que j'arrête les raccourcis. merci de ces précisions.
#12 Le 12/09/2008, à 09:16
- aktos
Re : problème de caractere php
Bon concretement vous me proposer quoi pour résoudre mon problème.
Je lis une table mysql pour écrire une table mysql.
Avec phpmyadmin ça a l'air ok mais avec mon programme d'affichage c'est tout cassé. Il doit avoir un os.
Kubuntu 14.04 Suivez moi sur gnusocial ou sur hubzilla
mes expériences et réflexions sur linux
Hors ligne
Pages : 1