MySQL4 File ‘c:mysqlsharecharsets?.conf’ not found (Errcode: 22)的解决方法
php 4.4.1+mysql 5.1的环境下出现了如下的提示:
file ‘c:\mysql\share\charsets\?.conf' not found (errcode: 22) character set ‘#33′ is not a compiled character set and is not specified in the ‘c:\mysql\share\charsets\index' file
查阅一番后基本可以确定原因为低版本的php和高版本的mysql之间的兼容性导致的。
最简单的办法是升级php到php5.3版本即可搞定,未知测试。因服务器不是我配的,不敢乱动,怕搞出麻烦,于是保留低版本的php,另寻其他方法。
以下试验了多种网络上查到的解决方法,供大家参考:
有说是mysql的配置中basedir没设好,检查了一下mysql安装目录下的my.ini,basedir正确,不是这个原因。
有说把mysql的配置my.ini中的default-character-set=utf8前面加#注释掉就搞定的,我改了,无效。
有说把mysql安装目录\share\charsets目录下的所有文件复制到c:\mysql\share\charsets\下的,我复制了,一样无效。
最后找到一种方法,把php.ini中的output_buffering = off 改为 output_buffering = on,上面的提示不见了,搞定。
知其然,不知其所以然。哪位大虾知道的,烦请告知,小弟谢过!
暂时解决...\charsets\?.conf' not found (errcode: 22) character set '#33'
php程序提示以下类似的错误的信息: file 'c:\mysql\share\charsets\?.conf' not found (errcode: 22) character set '#33' is not a compiled character set and is not specified in the 'c:\mysql\share\charsets\index' file 这个错误没有影响程序的运行,但是影响界面。
大概的原因应该是因为mysql 4.1以上的版本对编码规则改变导致了好多大大小小的问题,如果服务器的默认字符集是utf8,dos的窗口就会出现此类提示。
出现这样问题的人不在少数,但是从搜索的结果来看,最后解决这个问题的人是极少数的,据说有人用了php5就解决了。但是我不愿意升级到php5,最后花了好多时间才看到一个人的好建议(因为在公司搜索的时候没有记录,所以出处无从考究了),那个人大概的意思是从myslq官方网站看到以下信息: "后来在mysql的官方网站上看有人说,错误提示信息不是说要找那个目录的某个文件吗,那就去建立一个目录"! 更好的地方是,那个贴子还提供了相关的文件,我特地装进u盘带了回来,共享一下! ps:解压以后把mysql这个文件夹中的charsets目录替换mysql下的charsets目录就行了! 压缩包下载:点这里下载附件(mysql.zip)
apache+php+mysql中图片不能显示问题
做了一个显示数据库中图片的php网页,但是显示不出来。查apache中的log,发现有如下提示:
file 'c:\mysql\share\charsets\?.conf' not found (errcode: 2)
character set '#24' is not a compiled character set and is not specified in the 'c:\mysql\share\charsets\index' file
file 'c:\mysql\share\charsets\?.conf' not found (errcode: 2)
character set '#24' is not a compiled character set and is not specified in the 'c:\mysql\share\charsets\index' file
file 'c:\mysql\share\charsets\?.conf' not found (errcode: 2)
解决办法:
现确定phpinfo()显示的mysql的版本。如果显示的版本和机器里正在运行的mysql的版本不一样就说明是有问题了。我机器上运行的是4.1版本的,但是显示的是3.23.49版本。可能是以前安装的mysql版本没有卸载完全。重新编译php,
./configure --with-mysql=/${mysql} .再次查看phpinfo()里mysql的版本。重新刷新显示图片的页面,能够正常显示。
上一篇: Java中map遍历方式的选择问题详解
推荐阅读
-
MySQL4 File ‘c:mysqlsharecharsets?.conf’ not found (Errcode: 22)的解决方法
-
MySQL4 File ‘c:\mysql\share\charsets\?.conf’ not found (Errcode: 22)的解决方法
-
MySQL4 File ‘c:mysqlsharecharsets?.conf’ not found (Errcode: 22)的解决方法
-
MySQL4 File ‘c:\mysql\share\charsets\?.conf’ not found (Errcode: 22)的解决方法
-
MySQL4 File ‘c:\mysql\share\charsets\?.conf’ not found (Errcode: 22)的解决方法
-
MySQL4 File ‘c:\mysql\share\charsets\?.conf’ not found (Errcode: 22)的解决方法
-
MySQL4 File ‘c:\mysql\share\charsets\?.conf’ not found (Errcode: 22)的解决方法
-
MySQL4 File ‘c:\mysql\share\charsets\?.conf’ not found (Errcode: 22)的解决方法
-
MySQL4 File ‘c:\mysql\share\charsets\?.conf’ not found (Errcode: 22)的解决方法
-
MySQL4 File ‘c:\mysql\share\charsets\?.conf’ not found (Errcode: 22)的解决方法