2012-07-08 5 views
3

J'essaie de faire un simple insert avec des caractères espagnols sans succès. Ceci est ma structure simple de table MySQL:Comment insérer des caractères espagnols dans MySQL?

CREATE TABLE student (
    id INTEGER NOT NULL AUTO_INCREMENT, 
    name VARCHAR(100) NOT NULL, 
    lastname VARCHAR(100) NOT NULL, 
    CONSTRAINT PK_STUDENT PRIMARY KEY (id) 
) CHARACTER SET utf8 COLLATE utf8_general_ci; 

Les champs name et lastname seront des gens espagnols, leurs noms et prénoms sont comme ça:

  • Daniel Velásquez

  • Javier Ñañez

  • Víctor Sánchez

Mais quand je fais ce qui suit:

mysql> INSERT INTO student (name, lastname) VALUES ('Víctor', 'Sanchez'); 

Je reçois cette erreur:

ERROR 1366 (HY000): Incorrect string value: '\xA1ctor' for column 'name' at row 
1 

Eh bien, je suis vraiment confus au sujet des classements, codages et tout ce qui touche lorsque vous effectuez une recherche sur Internet .

Alors, quelle est la bonne façon de gérer cela? Juste pour savoir que j'utilise PHP et je sais qu'un moyen de récupérer des caractères spéciaux utilise htmlentities($value);

Merci d'avance.

+0

Avez-vous essayé de changer la collation de champ à l atin1_swedish_ci? –

+0

@ Battle_707 Vous m'avez donné un petit indice, j'ai résolu cela juste en spécifiant le jeu de caractères lors du démarrage de mysql en utilisant "charset latin1" –

Répondre

0

Lorsque vous démarrez MySQL, spécifiez Unicode:

mysql --default-character-set=utf8 
+0

En SSH cela n'a pas fonctionné :( – Pathros

Questions connexes