2009-05-25 6 views
2

J'ai des caractères comme ó, ö et ainsi de suite. Lorsque j'insère ces données dans le tableau, il affiche comme ceux-ci ó. J'utilise PHP mysql. Existe-t-il une solution à ça???Comment insérer des caractères spéciaux dans la base de données?

+0

Veuillez nous donner plus de contexte! Quel DB utilisez-vous, quels outils utilisez-vous pour insérer les données, afficher les données. N'importe lequel de ces 3 pourrait faire des traductions "utiles" ou mal comprendre un autre encodage d'outils .. (unicode?) – lexu

Répondre

1

Veuillez spécifier quel système de base de données vous utilisez - chacun a sa manière préférée de spécifier le codage de caractères. Ensuite, définissez le codage de caractères de votre base de données sur le même que celui que vous utilisez pour l'envoi des chaînes - ce dernier peut dépendre de votre langue et de votre bibliothèque, donc si vous souhaitez une aide détaillée, il vaut mieux les spécifier.

+0

Merci Alex !! J'utilise PHP mysql. – user75472

+0

Pour PHP et les codages de caractères, étudiez http://www.phpwact.org/php/i18n/charsets - utf8_encode quand vous allez à la DB, et utf8_decode quand vous revenez, sont probablement ce que vous voulez (si la table MySQL est en UTF8 comme semble probable), mais vous avez besoin de la connaissance de base donnée par ce document. –

0

Dépend de votre moteur de base de données. Pour MySQL, la solution est généralement pour définir votre caractère par défaut de la table de jeu, comme ceci:

CREATE TABLE `foo` (
    `bar` varchar(20) not null 
) ENGINE=MyISAM DEFAULT CHARSET=utf8; 
0

Exécutez cette requête pour vérifier divers paramètres de codage de caractères de MySQL:

show variables like '%character%' 

Je vous dirais avez probablement eu un ou plusieurs de ceux mis en latin1. En outre, essayez d'exécuter ces requêtes avant d'insérer/récupérer des données:

SET NAMES utf8 
SET CHARACTER SET utf8 
Questions connexes