>백엔드 개발 >PHP 튜토리얼 >Mysql入库汉字被截断问题

Mysql入库汉字被截断问题

WBOY
WBOY원래의
2016-06-23 14:02:401000검색

比如我在文本框输入“公园约会你懂的,”或者“我要上传媒大学”,那么最近写入数据库的是“公园约会”或者“我要上”,已经检查数据库正路字段,都是 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 直接插入不会被截断,这里说的截断是指出现个别汉字会被截断

编码问题先解决吧~

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:网站更换的问题다음 기사:php数据库存储的问题