字符编码问题

Ati*_*din 1 php mysql character-encoding

我需要将它保存到数据库(mysql)并显示回来.(我的数据库是utf_general_ci)

我αмiиvisibłєłiкєαiя---我αмαSiмρøяŧαиŧαSøxygєи---我αмłiviиgiиŧЋєwøяłdøƒмydяєαмz我αмαłwαysŧЋєяє到ЋєłρøŧЋєяz---我αм繁忙,但иєvєяigиøяєαиyøиє我αмŧЋєøиєwЋøcαяєz ---我øєєєєєєєєααααααI I I I I I I I I I I I I I I I Iααααααααααααα--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- єєαdyŧøgøαиywЋєяє--- Iłøvєŧøƒƒybuŧdøи'ŧЋαvєwiиgs-IwαиŧŧøøŧøucЋЋsкyłiмiŧs---Iαмєviłbuŧиøŧdєvił--- Iиєvєяƒøłłøwαиyŧяєиd---Iαмƒuиłøviиg- - suмŧiмєłøvєєøbєαłøиє---Iłøvєєøłivє---

但是,在保存和检索数据时,这就是我得到的

â��â�¥à ±LLã£Ã★ïï½½½½½½½¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥ ¢ï¿½ï¿½Ã¢ï¿½ï&iqu

有什么帮助吗?是否可以更改数据库的排序规则或某些可以处理此问题的PHP函数?

Ben*_*ner 9

您需要使用'SET NAMES utf8'来确保您的服务器使用UTF-8字符集发回结果.例:

$dbconn = mysql_connect("localhost", "user", "pass") or die(mysql_error());
           mysql_select_db('database', $dbconn) or die(mysql_error());
           mysql_query("SET NAMES 'utf8'");
Run Code Online (Sandbox Code Playgroud)

  • 使用文件头部中的<meta http-equiv ="Content-Type"content ="text/html; charset = UTF-8"/>设置文档的Content-Type. (5认同)

Gre*_*ill 5

我必须指向Joel的文章,标题为绝对最低限度每个软件开发人员,绝对必须知道Unicode和字符集(没有借口!).本文解释了什么是字符编码,为什么使用它们以及如何管理它们.

您的数据显然包含大量的Unicode字符,因此您必须了解PHP和MySql如何处理字符编码(在您的配置中)以及要调用哪些函数以确保编码在正确的时间.您粘贴的示例(不正确)数据表明某处肯定存在编码不匹配.