存进去的全是问号,类似下面这样。
当时因为页面显示正常(全部使用utf8编码,语言是php,查询之前也有加编码设置),就没太在意!
这次更好服务器后,页面的输出就全部是问号了,不明白原因,求指教!
试过的方法有:
在查询之前设置
mysql_query("set names 'utf8'");
mysql_query("set character_set_client=utf8");
mysql_query("set character_set_results=utf8");
存进去的全是问号,类似下面这样。
当时因为页面显示正常(全部使用utf8编码,语言是php,查询之前也有加编码设置),就没太在意!
beta v1.1版本为第一个版本,简单的整合了基础功能,各位站长拿到程序后,不要纠结后台的功能简单,后续将不断更新扩展。在beta v1.1版本使用过程中遇到什么问题,请登录 www.loftto.com 进行反馈! 安装说明######重要提醒:程序不支持二级目录安装,请使用一级目录或二级目录绑定!#第一步,确定你的服务器支持PHP+mysql。#第二步,确定你的服务器开启了gd库。#第三步,
0
这次更好服务器后,页面的输出就全部是问号了,不明白原因,求指教!
试过的方法有:
在查询之前设置
mysql_query("set names 'utf8'");
mysql_query("set character_set_client=utf8");
mysql_query("set character_set_results=utf8");
你可以使用phpmyadmin看看是不是存进去的真的是乱码。
服务器编码,客户端编码,传输过程中编码保持一致。
有时候在命令行连接mysql,中文会乱码,原因是命令行对utf8不支持
补充:如果有phpmyadmin中看到是乱码,就是你程序和数据库设置的问题了:
修改php.ini
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] default-character-set=utf8
命令行连接mysql乱码
SET NAMES GB2312
从你描述的情况来看很可能是新服务器上数据库字符集设置问题。
mysql_query("set names 'utf8'")等同于:
set character_set_client=utf8;
set character_set_results=utf8;
set character_set_connection=utf8;
但是mysql在内部执行操作前会将连接字符集转换为内部操作字符集,顺序如下:
1.使用每个数据字段的CHARACTER SET设定值;
2.若上述值不存在,则使用对应数据表的DEFAULT CHARACTER SET设定值(MySQL扩展,非SQL标准);
3.若上述值不存在,则使用对应数据库的DEFAULT CHARACTER SET设定值;(character_set_database)
4.若上述值不存在,则使用character_set_server设定值。
所以你可以将database和server字符集设置为utf8试一下,
参考文章:http://www.laruence.com/2008/01/05/12...
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号