免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3454 | 回复: 9
打印 上一主题 下一主题

4.19版的问题:Specified key was too long... [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-05-31 18:46 |只看该作者 |倒序浏览
在安装某个PHP程序时,出现以下错误:
......
" failed with error code "Specified key was too long; max key length is 1024 bytes (localhost)".
各位兄弟,这怎么解决啊?

论坛徽章:
1
寅虎
日期:2015-01-23 02:35:47
2 [报告]
发表于 2006-05-31 23:02 |只看该作者
goooogle里能查到,先去google下吧

论坛徽章:
0
3 [报告]
发表于 2006-06-01 08:32 |只看该作者
原帖由 topmba 于 2006-5-31 18:46 发表
在安装某个PHP程序时,出现以下错误:
......
" failed with error code "Specified key was too long; max key length is 1024 bytes (localhost)".
各位兄弟,这怎么解决啊?


创建某个索引的时候长度太长了,查查建表的SQL,着重看 create index 部分,比如对某个varchar型字段的索引过长等原因造成

论坛徽章:
0
4 [报告]
发表于 2006-06-02 11:46 |只看该作者
谢谢两位!
google了一下,很多说法也是莫衷一是,但绝大多都说与utf8有关;
将字符集改为lantin1,暂时解决问题:......DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci ;但Server、client、Conn.的字符集还是utf8,这样会有问题吗?

[ 本帖最后由 topmba 于 2006-6-2 11:51 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2006-06-02 12:06 |只看该作者
我觉得你是应该详细检查一下。
MySQL 服务器是你自己配置的,所有字符集都设置成同一个了,是吧。
再去看看那个 php 安装程序,它有没有指定数据库、数据表甚至字段的编码,看看把它改成和你服务器环境一致程序还正常不?它可能用的是 latin1。

注意,如果你把 php 改成 utf8,那么 php 文件本身你要另存为 utf8 编码,否则,中文都要乱码了。

[ 本帖最后由 rardge 于 2006-6-2 12:09 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2006-06-03 23:05 |只看该作者
用我的方法不行,乱码了......
我装的是mediawiki,找它的官方资料看了一下,存在这个bug,但mysql官网显示也存在这个bug,不知是谁的错了......
看来开源的东西还是不能赶时髦,尤其是数据库,新版用来玩玩就算了,还是用4.0x吧。

论坛徽章:
0
7 [报告]
发表于 2006-06-05 09:00 |只看该作者
原帖由 topmba 于 2006-6-3 23:05 发表
用我的方法不行,乱码了......
我装的是mediawiki,找它的官方资料看了一下,存在这个bug,但mysql官网显示也存在这个bug,不知是谁的错了......
看来开源的东西还是不能赶时髦,尤其是数据库,新版用来玩玩就算 ...


我想没那么困难。
1. 查看你的程序,看看页面用的是什么字符集
2. 查看程序在写入到数据库时,连接到数据库时指定的是什么字符集
3. 相关的数据表默认字符集是什么
把这几个前提条件搞清楚了就没那么复杂了

论坛徽章:
0
8 [报告]
发表于 2006-06-05 18:50 |只看该作者
原帖由 yejr 于 2006-6-5 09:00 发表


我想没那么困难。
1. 查看你的程序,看看页面用的是什么字符集
2. 查看程序在写入到数据库时,连接到数据库时指定的是什么字符集
3. 相关的数据表默认字符集是什么
把这几个前提条件搞清楚了就没那么复杂了


数据库环境所有字符集是utf8(编译时指定的),其它程序如vb等的安装都没问题,mediawiki就不行;
我不懂php,把安装程序帖上来吧,大家帮看看。(mediawiki太大,传不上来,有需要的可用代理去官方站下一个)

index.rar

15.44 KB, 下载次数: 20

安装程序

sql.rar

13.54 KB, 下载次数: 23

建表sql

论坛徽章:
0
9 [报告]
发表于 2006-06-05 22:11 |只看该作者
不知道了,你还是去他们的网站去问吧,毕竟专业点。
我看应该没有问题啊,它的安装程序中也是设置成使用 utf-8 的。

论坛徽章:
0
10 [报告]
发表于 2006-06-06 09:09 |只看该作者
1、 建表的sql没有指定字符集,那么就是你的数据库默认字符集,需要你再确认一次是否为utf-8
2、 index.php中已经指定页面字符集为utf-8
3、 查看连接mysql的代码,可能的话增加一行:
     mysql_query("set names utf8"); //设定连接时的字符集为utf8
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP