PHP中文乱码
发布网友
发布时间:2022-04-22 13:07
我来回答
共5个回答
热心网友
时间:2022-04-06 03:26
meta 头里 写 是 gbk 或者 gb2312 没有叫 gbk2312的
1. 检查PHP文件本身的编码 ,一般在 editplus 打开后 右下角能看到 ansi 就算正常了。
2. 写meta标记
3. 查看数据库本身的编码, 还有数据表 ,文本型字段的编码。 这些在 phpmyadmin里就能看到
4. $result->query("set names gbk") 这个当然要用。
5. 还有一种可能是 你插入数据的页面 和 显示数据的页面 编码不相同,
你先检查上面的 所有编码 然后把数据删除了 ,重新插入 在看看追问你指出的这些我都做了,在phpmyADMIN里特意把数据库跟表都改成了GBK-CHINESE-CI的,现在就差PHP.IN没试过了,PHP是5.3的版本
追答没听过 PHP.INI里设置编码。。。
我是一直这么用 没出过问题。。。
热心网友
时间:2022-04-06 04:44
看看html页面文件本身编码格式是否gbk
用记事本打开html文件,选择另存为,然后在下面可以看到文件编码,改成 ANSI
热心网友
时间:2022-04-06 06:19
这不是什么大问题,就是关于编码不对。
现在没有gbk2312,这样的,只有gbk;下面是全部的编码。
mysql> show charset;
+----------+-----------------------------+---------------------+--------+
| 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 |
| cp866 | DOS Russian | cp866_general_ci | 1 |
| keybcs2 | DOS Kamenicky Czech-Slovak | keybcs2_general_ci | 1 |
| macce | Mac Central European | macce_general_ci | 1 |
| macroman | Mac West European | macroman_general_ci | 1 |
| cp852 | DOS Central European | cp852_general_ci | 1 |
| latin7 | ISO 8859-13 Baltic | latin7_general_ci | 1 |
| cp1251 | Windows Cyrillic | cp1251_general_ci | 1 |
| cp1256 | Windows Arabic | cp1256_general_ci | 1 |
| cp1257 | Windows Baltic | cp1257_general_ci | 1 |
| binary | Binary pseudo charset | binary | 1 |
| geostd8 | GEOSTD8 Georgian | geostd8_general_ci | 1 |
| cp932 | SJIS for Windows Japanese | cp932_japanese_ci | 2 |
| eucjpms | UJIS for Windows Japanese | eucjpms_japanese_ci | 3 |
+----------+-----------------------------+---------------------+--------+
你在输入时的文件编码不对,全部改成gbk;才可以,至于 utf8,也会出现同同样的问题。
热心网友
时间:2022-04-06 08:10
如果你的这个数据是从数据库中获取出来的
那就先看这个表里的 数据是否已经是乱码了。
一般 有些时候插入数据的时候没有设置好编码 插入后他就是一个乱码
读取的时候你在设置了正确编码 还是会出现乱码
所以插入前 插入后读取时 编码都要正确统一才可以!
热心网友
时间:2022-04-06 10:18
这是程序原本编码问题,可以在php.ini里面解决追问PHP.INI里怎么设置请问