kick_78 发表于 2006-5-4 09:21:37

請教中文亂碼問題

我安裝的系統為FC5,phpmyadmin2.8。
我以圖形介面創建數據庫和表名都有英文,表中的字段名為中文。在PHPMYADMIN中查詢顯示正常,可是用PHP連接和MYSQL命令中文都顯示為???英文和數字正常。請教高手是怎麼回事,謝謝!

npcomet 发表于 2006-5-4 17:08:31


在PHPMYADMIN中查詢顯示正常

应该是你的中的编码方式和实际要使用的编码方式不同
一般的情况是PHP連接和MYSQL命令中文都顯示
正确
phpmyadmin里面的是否正确不正确不重要

kick_78 发表于 2006-5-4 20:45:06

+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client   | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | latin1                     |
| character_set_results    | latin1                     |
| character_set_server   | latin1                     |
| character_set_system   | utf8                     |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
我在/usr/share/mysql/charsets/下面没有找到有UTF8。
在 下加default-character-set=utf8,mysqld不能被重新启动,我该如何处理。FC5安装怎么在MYSQL中没有UTF8呢?

kick_78 发表于 2006-5-4 21:23:21

可是又有:
mysql> show character set;
+----------+-----------------------------+---------------------+--------+
| Charset| Description               | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| big5   | Big5 Traditional Chinese    | big5_chinese_ci   |      2 |
| dec8   | DEC West European         | dec8_swedish_ci   |      1 |
| cp850    | DOS West European         | cp850_general_ci    |      1 |
| hp8      | HP West European            | hp8_english_ci      |      1 |
| koi8r    | KOI8-R Relcom Russian       | koi8r_general_ci    |      1 |
| latin1   | cp1252 West European      | latin1_swedish_ci   |      1 |
| latin2   | ISO 8859-2 Central European | latin2_general_ci   |      1 |
| swe7   | 7bit Swedish                | swe7_swedish_ci   |      1 |
| ascii    | US ASCII                  | ascii_general_ci    |      1 |
| ujis   | EUC-JP Japanese             | ujis_japanese_ci    |      3 |
| sjis   | Shift-JIS Japanese          | sjis_japanese_ci    |      2 |
| hebrew   | ISO 8859-8 Hebrew         | hebrew_general_ci   |      1 |
| tis620   | TIS620 Thai               | tis620_thai_ci      |      1 |
| euckr    | EUC-KR Korean               | euckr_korean_ci   |      2 |
| koi8u    | KOI8-U Ukrainian            | koi8u_general_ci    |      1 |
| gb2312   | GB2312 Simplified Chinese   | gb2312_chinese_ci   |      2 |
| greek    | ISO 8859-7 Greek            | greek_general_ci    |      1 |
| cp1250   | Windows Central European    | cp1250_general_ci   |      1 |
| gbk      | GBK Simplified Chinese      | gbk_chinese_ci      |      2 |
| latin5   | ISO 8859-9 Turkish          | latin5_turkish_ci   |      1 |
| armscii8 | ARMSCII-8 Armenian          | armscii8_general_ci |      1 |
| utf8   | UTF-8 Unicode               | utf8_general_ci   |      3 |
| ucs2   | UCS-2 Unicode               | ucs2_general_ci   |      2 |
说明MYSQL支持utf8的。请问大侠我该如何配置?

mandrakechina 发表于 2006-5-4 23:10:22

我从来没有见过有人在mysql中使用中文字段名成功的。

kick_78 发表于 2006-5-5 07:29:52

我从来没有见过有人在mysql中使用中文字段名成功的。
我有重建數據庫,重建表,字段名改為英文,在phpmyadmin中插入記錄之後, 用PHP和MYSQL查詢也還都是亂碼。
請教正確的配置該如何做呢?各位大俠請幫幫我!

kick_78 发表于 2006-5-5 07:33:07


应该是你的中的编码方式和实际要使用的编码方式不同

請問我該如何配置?

npcomet 发表于 2006-5-5 12:19:32

你的php程序是什么格式?
UTF8?
把phpmyadmin的里面的编码改为UTF-8就可以了
mysql的字符集不需要设定的,默认的就可以了

kick_78 发表于 2006-5-5 18:56:22

你的php程序是什么格式?
UTF8?
把phpmyadmin的里面的编码改为UTF-8就可以了
mysql的字符集不需要设定的,默认的就可以了
多谢!!!问题真的出在phpmyadmin里面的编码。我做如下修改:
1、$cfg['defaultlang']="utf-8";
2、$cfg['defaultcharset']="utf-8";
3、$cfg['AllowArywhereRecoding']=True;
然后再在PHP中加入:
mysql_query("SET NAMES 'UTF8'");
大功告成!!!

npcomet 发表于 2006-5-5 23:29:09

:lol::lol::lol:
页: [1]
查看完整版本: 請教中文亂碼問題