MySQL4 File ‘c:\mysql\share\charsets\?.conf’ not found (Errcode: 22)的解決方法
PHP 4.4.1+MySQL 5.1的環(huán)境下出現(xiàn)了如下的提示:
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,另尋其他方法。
以下試驗了多種網(wǎng)絡上查到的解決方法,供大家參考:
有說是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以上的版本對編碼規(guī)則改變導致了好多大大小小的問題,如果服務器的默認字符集是UTF8,DOS的窗口就會出現(xiàn)此類提示。
出現(xiàn)這樣問題的人不在少數(shù),但是從搜索的結果來看,最后解決這個問題的人是極少數(shù)的,據(jù)說有人用了php5就解決了。但是我不愿意升級到php5,最后花了好多時間才看到一個人的好建議(因為在公司搜索的時候沒有記錄,所以出處無從考究了),那個人大概的意思是從Myslq官方網(wǎng)站看到以下信息: "后來在Mysql的官方網(wǎng)站上看有人說,錯誤提示信息不是說要找那個目錄的某個文件嗎,那就去建立一個目錄"! 更好的地方是,那個貼子還提供了相關的文件,我特地裝進U盤帶了回來,共享一下! PS:解壓以后把mysql這個文件夾中的Charsets目錄替換mysql下的Charsets目錄就行了! 壓縮包下載:點這里下載附件(mysql.zip)
apache+php+mysql中圖片不能顯示問題
做了一個顯示數(shù)據(jù)庫中圖片的php網(wǎng)頁,但是顯示不出來。查Apache中的log,發(fā)現(xiàn)有如下提示:
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)
解決辦法:
現(xiàn)確定phpinfo()顯示的mysql的版本。如果顯示的版本和機器里正在運行的mysql的版本不一樣就說明是有問題了。我機器上運行的是4.1版本的,但是顯示的是3.23.49版本??赡苁且郧鞍惭b的mysql版本沒有卸載完全。重新編譯PHP,
./configure --with-mysql=/${MYSQL} .再次查看phpinfo()里mysql的版本。重新刷新顯示圖片的頁面,能夠正常顯示。
相關文章
Mysql使用sum()函數(shù)返回null的問題詳解
MySQL的Sum()函數(shù)是用來找出所有記錄的一個字段的總和,下面這篇文章主要給大家介紹了關于Mysql使用sum()函數(shù)返回null的問題,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-01-01

