php mysql insert into utf-8 [closed]

2020-02-08 04:20发布

问题:

This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center.
Closed 7 years ago.

I'm going to insert into some articles in mysql using PHP.

This is phpMyAdmin information:

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

Here is my table information:

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

I add

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

in the top of my php code, add mysql_query("set names 'utf-8'"); before mysql_select_db("data",$db1);

but the data in the mysql is still like

più freddi

How do I show the data correctly?

回答1:

Get rid of the hyphen. It should be:

mysql_query("SET NAMES utf8");


回答2:

Use following code for inserting

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);

This is worked fine in my case



回答3:

You have to specify the character encoding on the client as well, use

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