Je ne suis pas très expérimenté avec la base de données et php et j'ai un problème.Mysql à Php, problèmes avec les lettres allemandes, suédoises, islandaises etc.
J'ai fait une base de données simple phpadmin
sur un serveur web avec une table appelée NEWS
avec 3 colonnes appelées int ID
, text RUBRIK
, text ARTICLE
. Lorsque j'utilise SELECT * FROM NEWS the result from ID and RUBRIK
fonctionne bien, mais le résultat de ARTICLE
renvoie "null"
. Est-ce que quelqu'un sait ce qui ne va pas?
Dans phpmyadmin, il est parfait d'ajouter une colonne avec du texte contenant les lettres suédoises et dans phpmyadmin, il est possible de voir le texte stocké correctement, c'est quand le texte est appelé au php qu'il ne fonctionnera pas.
J'utilise un interaction fichier index.php
avec la base de données, car index.php
travaille juste pour connecter mon application android avec la base de données la réponse de index.php
est print(json_encode($output));
PS, j'ai essayé d'enregistrer le fichier index.php
dans Notes MS avec ANSI
et UTF-8
codant. Ne fait aucune différence, je l'ai essayé manipuler ma base de données en changeant tous les classements que je peux trouver dans le phpmyadmin
entre latin1_general_ci
, utf8_general_ci
, utf8_general_bin
, utf8_swedish
etc etc J'ai aussi essayé la commande mysql_query("set names utf8");
qui m'a recommandé d'essayer, à l'aide qui a fait la base de données retourner les lettres dans le similaire à "/&aumi"
.
J'apprécierais vraiment si quelqu'un pouvait m'aider.
Voici le fichier php.
<?php
$con = mysql_connect("mysqlserver","user","passwords");
if(!$con)
{
die(' funkar ej: ' . mysql_error());
}
mysql_select_db("database", $con);
$q=mysql_query("SELECT * FROM NEWS");
while($e=mysql_fetch_assoc($q))
$output[]=$e;
print(json_encode($output));
mysql_close();
?>
pas sûr que cela fonctionnera, car $ e est un tableau et 'utf8_encode()' n'acceptera que des chaînes. – Simon
il peut être fait avec un 'for' iterating chaque valeur à l'intérieur du' $ e'. Le point est qu'il a besoin de l'encodage: D –
J'ai changé le code et il est retourné "\ u00e5 \ u00e4 \ u00e4" au lieu de "åäö" –