php - 在使用 Php、Mysql 和 UTF8 时遇到问题

标签 php encoding utf-8 character-encoding

问题,简单而烦人。


我只是想打印从我的 mysql 数据库中收集的姓名列表。

PHP 文件以utf8 格式保存,数据库和表设置为使用utf8。例如,仍然是 'å,ä,ö',输出为 �。不敢相信我仍然遇到这个问题。

enter image description here

当然,Latin1 解决了这个问题。问题是我必须使用 utf8,因为我正在执行一些 json_encode 以将数据发送到 ajax 脚本。

enter image description here

知道到底哪里出了问题吗?

我应该在返回数据之前将数据转换为 utf8 格式吗?看起来很奇怪,我应该……

最佳答案

utf8_general_ci 转换为 utf8_unicode_ci...

尝试在连接到数据库后运行 SET NAMES UTF8 查询...

function connect($server, $database, $username, $password, $charset = "UTF8"){
    $link = mysql_connect($server, $database, $password);
    if(!$link){
        die("Unable to connect to database server.");
    }
    mysql_selectdb($database);
    if(function_exists("mysql_set_charset")){
        mysql_set_charset($charset, $link);
    }else{
        mysql_query("SET NAMES $charset");   
    }
}

还要确保你的 HTML 中有这个(或通过 header())...

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

关于php - 在使用 Php、Mysql 和 UTF8 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6044030/

相关文章:

php - php | mysql 查询不起作用由 phpmyadmin 工作

macos - 文件名 os x 中的不同 utf8 编码

java - 调试 UTF-8 解码是否正确?

java - 使用字符集解码器以逐字节方式解码多字节 UTF8 符号?

windows - 使用 Perl 将 UTF-8 字符放入 Excel?

java - JFrame 标题中的字符错误

javascript - 从下拉列表中选择项目时显示文本框 html php?

php - Symfony 找不到 "GET/logout"的路由

php - 如果 mySQL 行的innerHTML X,则将其移动到表的顶部

python - 想了解 Scikit-Learn 中的编码算法