PHP和SQL查询编码utf 8德文字母

时间:2015-06-23 18:45:24

标签: php mysql utf-8

当我在SQL查询中使用带有德语字母的单词时,我从数据库获取记录时遇到问题,当我在phpAdmin中执行它时,它会提供88行结果,当我想执行相同的查询但是在PHP代码中它给了我布尔(假)。在db中我使用utf8_bin。有什么问题?

$getPapers = mysql_query("SELECT * FROM swt_pubs WHERE column LIKE '%Aß%' ORDER BY id DESC LIMIT 10");
echo $getPapers;
while ($papers = mysql_fetch_object($getPapers)) {
    echo "string";
    echo convertToUTF8($papers->content);
}
var_dump($papers);?>

我得到的结果:

  

资源ID#6

     

布尔(假)

编辑1: 我有这个页面编码:

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

编辑2:

function convertToUTF8 ($string)
        {
        return str_replace ('Ä', '&#196;',
               str_replace ('„', '&#132;',
               str_replace ('“', '&#147;',
               str_replace ('–', '&#150;',
               str_replace ('­', '&#173;',
                    str_replace ('È', '&#200;',
                        str_replace ('É', '&#201;',
                            str_replace ('Ö', '&#214;',
                                str_replace ('Ü', '&#220;',
                                    str_replace ('ß', '&#223;',
                                        str_replace ('ä', '&#228;',
                                            str_replace ('è', '&#232;',
                                                str_replace ('é', '&#233;',
                                                    str_replace ('ö', '&#246;',
                str_replace ('ü', '&#252;',
                    str_replace ('@', '&#64;',
                        str_replace ('Ã?', '&#220;',
                            str_replace ('\"', '"',
                            str_replace ("\'","'",
                                ersetzeBbCode ($string)
                                    ))
                                ))
                            )
                        )
                                                                )
                                                            )
                                                        )
                                                    )
                                                )
                                            )
                                        )
                                    )
                                )
                            )
             ))
            );
        }

2 个答案:

答案 0 :(得分:1)

使用解决问题的 uft8-general-ci

答案 1 :(得分:1)

一个有趣的事情是我们大多数时候使用sql server上传大文件,但文件中有任何unicode字符然后我们用任何语言获取它,但是unicode字不能工作。上传sql文件时解决这个问题在你的sql文件中添加这个生命:

SET NAMES utf8;

那么你的所有问题都很容易解决