【发布时间】:2011-09-29 11:26:01
【问题描述】:
所有,我有一个古老的字符编码问题......
我有一个字段设置为 utf8_unicode_ci 的 mySQL DB。我的 PHP 页面作为标题条目 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />。当我使用简单的表单将带有西里尔字符的数据发布到数据库时,例如'гыдлпоо',字符在文本区域中正确显示,并添加到正确显示的数据库中。
从数据库中获取字符时,我的页面只显示一系列问号。我用过mb_detect_encoding($content, "UTF-8,ISO-8859-1", true);,内容是UTF-8,但是字符不显示。
我已经四处搜索(包括 SO)并尝试了许多解决方案,但均无济于事 - 非常感谢任何帮助。
非常感谢
【问题讨论】:
-
在从数据库中获取数据之前,您是否尝试过使用 SET NAMES 'utf8' 查询?
-
这让我离我需要去的地方更近了...我已经阅读了不应该使用的方法 - 这是正确的吗?
-
您也可以使用 mysql_set_charset() 函数 - 至少他们在手册中说这是首选方式php.net/manual/en/function.mysql-set-charset.php
-
以防万一,您能发布您的表格定义吗?您可以通过执行查询 SHOW CREATE TABLE
table_name来获取它 -
这行得通-如果您将其作为答案发布,我将奖励您作为回答者
标签: php mysql character-encoding special-characters