Mar*_*arc 1 php mysql character-encoding
我有一个PHP文件,在我的数据库中插入$ mail和$ password.见下面的代码.我的php文件,我的BD和我的表字段都在utf-8中.所以我不明白为什么我发送"Philémon"的邮件在我的桌子中以"Philémon"的形式出现.顺便说一下,我知道它不是邮件格式.这只是为了测试.
我的PHP:
<?php
header('Content-Type: text/html; charset=utf-8');
require("php/connect.inc.php");
$mail = mysql_real_escape_string("Philémon");
$password = sha1("pass123");
mysql_query("INSERT INTO ENS_MEMBRES (ENS_MAIL, ENS_PASS) VALUES ('$mail','$password')");
?>
Run Code Online (Sandbox Code Playgroud)
您的PHP源代码可能是UTF-8编码的; 您的数据库连接可能是ISO-8859-1编码,它是mySQL的默认连接编码.这将导致UTF-8 é被解释为两个独立的字节,并以这种方式存储在mySQL表中.
解决方案:做一个
mysql_set_charset('utf8');
Run Code Online (Sandbox Code Playgroud)
在发送数据之前; 如果该功能不可用,请使用
mysql_query("SET NAMES utf8;");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
950 次 |
| 最近记录: |