web-dev-qa-db-fra.com

php mysql insérer dans utf-8

Je vais insérer dans certains articles de mysql en utilisant PHP.

Voici les informations phpMyAdmin:

Server: localhost via TCP/IP
Server version: 5.0.85-community-nt
Protocol version: 10
User: root@localhost
MySQL charset: UTF-8 Unicode (utf8) 

Voici mes informations de table:

Table   Action  Records 1  Type  Collation  Size  Overhead  
article       10 InnoDB utf8_unicode_ci 16.0 KiB - 
1 table(s)  Sum 10 InnoDB utf8_unicode_ci 16.0 KiB 0 B

J'ajoute

<?php header('Content-type:text/html; charset=utf-8'); ?> 

en haut de mon code php, ajoutez mysql_query("set names 'utf-8'"); avant mysql_select_db("data",$db1);

mais les données du mysql sont toujours comme

più freddi

Comment afficher correctement les données?

17
yuli chika

Débarrassez-vous du trait d'union. Ça devrait être:

mysql_query("SET NAMES utf8");
38
Imran Omar Bukhsh

Utilisez le code suivant pour insérer

mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'");
mysql_query($qry);

Cela fonctionne bien dans mon cas

15
shihabudheen

Vous devez également spécifier l'encodage des caractères sur le client, utilisez

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
1
Aston