Home > Backend Development > PHP Tutorial > Mysql入库汉字被截断问题

Mysql入库汉字被截断问题

WBOY
Release: 2016-06-23 14:02:40
Original
1005 people have browsed it

比如我在文本框输入“公园约会你懂的,”或者“我要上传媒大学”,那么最近写入数据库的是“公园约会”或者“我要上”,已经检查数据库正路字段,都是 utf8_general_ci。



补充说明:将内容输入到Title中,可以完整入库,不会被截断

我在本地用APMServ5.2.6假设环境测试没有这种问题,

本地环境
PHP版本: 5.2.6
MySQL版本: 5.1.28-rc-community
操作系统 Windows NT R780 6.1 build 7600

服务器环境: 出现被截断问题
PHP版本: 5.3.6
MySQL版本: 5.0.96-log
操作系统 Windows NT P3NW8SH241 6.0 build 6002 (Windows Server 2008 Standard Edition Service Pack 2) i586

补充:
经过测试,将body字段的整理改成gb2312_chinese_ci或者Gbk 就不会出现截断的问题,前台会显示,但显示的是“?? 媒  ?? 懂得 ”,请大家帮忙指点迷津


回复讨论(解决方案)

1.长度
2.编码

适当的调整字段长度

操作数据 先SET NAMES "XXXX";

神奇的编码~!!

楼上的方法应该能解决乱码问题~!!!!

神奇的编码~!!

楼上的方法应该能解决乱码问题~!!!!


set names "gb2312"  我经常这么干~!!!但很烦的说。。有木有啥一劳永逸的办法??

引用 2 楼 virus1992 的回复:神奇的编码~!!

楼上的方法应该能解决乱码问题~!!!!


set names "gb2312"  我经常这么干~!!!但很烦的说。。有木有啥一劳永逸的办法??
数据库创建的时候,就设成统一的字符集。页面是UTF-8,数据库默认字体和数据表字段字体都为UTF8;页面是GB2312的,数据库设成GBK。

你在服务器上用 phpmyadmin 插入同样的数据,也会被截断吗?
如果会,那么是 mysql 的版本问题
如果不会,那么就是你的程序问题 

你在服务器上用 phpmyadmin 插入同样的数据,也会被截断吗?
如果会,那么是 mysql 的版本问题
如果不会,那么就是你的程序问题

phpmyadmin 插入不会截断,本地测试没有问题,但是服务器上会出问题,因此我觉得应该是程序的问题,目前还没有找到

1.长度
2.编码

适当的调整字段长度

操作数据 先SET NAMES "XXXX";

phpmyadmin 直接插入不会被截断,这里说的截断是指出现个别汉字会被截断

编码问题先解决吧~

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template