LINUX 服务器 PHP与MYSQL中文乱码问题最终解决方案
来源:互联网 发布:知乎 日本人的遥远旅途 编辑:程序博客网 时间:2024/06/08 06:39
笔者用的服务器为Ubuntu,当要往MYSQL插入中文时,碰到了乱码问题。
问题解决方案如下
一、MYSQL设置问题
经过搜索,普遍解决方案如下(视MYSQL版本为5.5之后)
修改/etc/mysql/my.cnf
sudo gedit /etc/mysql/my.cnf
在my.cnf文件中的[client]段和 [mysqld]段加上以下两行内容:
[client]
default-character-set = utf8
[mysqld]
character-set-server = utf8
重新启动MySQL:
sudo /etc/init.d/mysql restart
或 service mysql restart
查看一下现在mysql的编码
mysql -u root -p
mysql>show variables like 'character%';
如果修改后,显示如下,则修改成功
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
注意MYSQL5.5后,mysqld下面的一句,跟client下的不同。
基本的解决方案如下,经过修改后,发现在php进行相应的数据库操作后仍出现中文乱码,多次百度修改仍然无果。
二、PHP编码设置问题
于是经过摸索,得出以下的解决方案
在php下使用mysqli函数
在进行数据库操作前,要加上一句,
$conn = mysqli_connect($servername, $username, $password, $dbname);if (!$conn) {die("Connection failed: " . mysqli_connect_error());}mysqli_query($conn,"SET NAMES 'UTF8'");//在进行数据库操作前加上这句
如果用mysql函数,则加上这句
mysql_query("SET NAMES 'UTF8'");//在进行数据库操作前加上这句
于是问题得以解决。当然,其他的编码参数要设置正确,加上以上这句编码设置语句才能生效。
三、LINUX编码问题
如果以上设置完后,仍然没法显示中文,那么如果是在Windows下编写的文件,那么
拷贝到Linux下的时候,则要注意编码问题
用Notepad++ 打开相应的文件,双击右下角的Dos\Windows,选择转为Unix格式
这样子,问题就得到解决了。
- LINUX 服务器 PHP与MYSQL中文乱码问题最终解决方案
- linux php mysql 中文乱码解决方案
- 中文乱码最终解决方案
- 中文乱码最终解决方案
- php与mysql中文乱码问题
- velocity中文乱码最终解决方案
- velocity中文乱码最终解决方案
- velocity中文乱码最终解决方案
- velocity中文乱码最终解决方案
- PHP与MYSQL搭配出现中文乱码的“终极”解决方案
- PHP与MYSQL搭配出现中文乱码的“终极”解决方案
- MySQL数据库基础-MySQL字符集乱码问题最终解决方案
- Mysql与JSP网页中文乱码问题的解决方案
- Mysql与JSP网页中文乱码问题的解决方案
- Mysql与JSP网页中文乱码问题的解决方案
- [zz]谈论MySQL与JSP中文乱码问题的解决方案
- 转载 Mysql与JSP网页中文乱码问题的解决方案
- PHP-MYSQL中文乱码问题.
- hdu 1207 汉诺塔II 递推关系
- Docker命令使用详解
- 第七周 项目5 排队看病模拟
- 第7周 项目2-建立链队算法库
- Python中执行系统命令常见方法
- LINUX 服务器 PHP与MYSQL中文乱码问题最终解决方案
- 图片文件如何转换成一个PDF文档
- ADO大总结
- APICloud从0开始写脉脉(3)顶部导航栏
- 第七周项目3-负数把正数赶出队列
- 第七周项目5—排队看病模拟
- Oracle-12514错误发生的几种原因
- linux内核优化
- Android中dip、dp、sp、pt和px的区别