php输入数据库,显示为问号,而不是应该的中文?
发布网友
发布时间:2022-04-23 14:48
我来回答
共4个回答
热心网友
时间:2023-09-12 19:37
新建php页面时中文显示正常,插入记录集导航条和记录集导航数据时的文字是英文,当运行预览(F12)时,IE页面出现的中文乱码,英文能正常显示;
当从php页面提交插入记录并返回页面时,显示的提交内容没有乱码,只是在Dreamweaver制作时写入的中文是乱码;
然后打开http://localhost/phpmyadmin/页面查看数据库,发现刚才输入的中文显示为乱码;
这个时候,我在数据库里修改刚才输入的中文并保存,这时数据库能显示的是中文,但回到在php页面运行预览(F12)时,在数据库里修改的那部分出现的是很多问号(?),其他没有修改的内容没有变化。请各位高手出手相助!该如何修改才不会乱码?
1..安装的是appserv-win32-2.5.9及Dreamweaver CS3
2..在MySQL Command Line Client输入以下命令时:
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 |
| 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 |
+----------+-----------------------------+---------------------+--------+
36 rows in set (0.00 sec)
mysql> SHOW VARIABLES LIKE 'character_set_%';
+--------------------------+----------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\AppServ\MySQL\share\charsets\ |
+--------------------------+----------------------------------+
8 rows in set (0.00 sec)
mysql> SHOW VARIABLES LIKE 'collation_%';
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)
3..在Dreamweaver CS3新建php页面时有以下代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
4..进入http://localhost/phpmyadmin/页面显示:
localhost
服务器版本: 5.0.45-community-nt-log
Protocol version: 10
MySQL 字符集: UTF-8 Unicode (utf8)
MySQL 连接校对:utf8_general_ci
phpMyAdmin - 2.10.2
MySQL client version: 5.0.37
Language: 中文-Chinese simplified
其中,打开了数据库列表显示如下:
数据库 整理
mymy2012 utf8_general_ci
mysql utf8_general_ci
phpmyadmin utf8_bin
test utf8_general_ci
统计: 4 utf8_general_ci
新建php页面时中文显示正常,插入记录集导航条和记录集导航数据时的文字是英文,当运行预览(F12)时,IE页面出现的中文乱码,英文能正常显示;
当从php页面提交插入记录并返回页面时,显示的提交内容没有乱码,只是在Dreamweaver制作时写入的中文是乱码;
然后打开http://localhost/phpmyadmin/页面查看数据库,发现刚才输入的中文显示为乱码;
这个时候,我在数据库里修改刚才输入的中文并保存,这时数据库能显示的是中文,但回到在php页面运行预览(F12)时,在数据库里修改的那部分出现的是很多问号(?),其他没有修改的内容没有变化。请各位高手出手相助!该如何修改才不会乱码?
热心网友
时间:2023-09-12 19:37
这就是乱码了啊,页面与数据库的编码没有统一起来,一般数据库支持中文肯定是GB2312或者UTF8,你可以在执行插入前,先写上mysql_query("set names utf8")或者mysql_query("set names gb2312");试一下。
热心网友
时间:2023-09-12 19:37
因为编辑器默认是UTF-8,但是汉字属于gb2312或gbk,所以当以输入为汉字的时候需要转换一下,下边是我写的一个转换的类
import java.io.UnsupportedEncodingException;
public class ToNewString {
public static String toNewS(String a){
String b=null;
try {
b= new String(a.getBytes("iso-8859-1"),"gb2312");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return b;
}
}
上面就是将汉字a转换为gb2312的b,你可以直接调用String b="张三" String a=ToNewString.toNewS(b);
热心网友
时间:2023-09-12 19:38
你用的是黑屏白字的数据库吧?
在里面写一句话:set names gbk;
PHP读MYSQL中文乱码的快速解决方法
打算切换某个网站的主机,没想到遇到Php和Mysql中文乱码的问题。以前的国外主机用的Mysql是4.x系列的,感觉还比较好,都无论GBK和UTF-8都没有乱码,没想到新的主机的Mysql是5.0版本的,导入数据后,用Php读出来全是问号,乱码一片,记得我以前也曾经有过一次切换出现乱码的经验,原因肯定是Mysql版本之...
为什么我的网页中从数据库中读出来的汉字都显示问号
尤其从数据库中读取中文 会在页面上无法解析 出现乱码 第一 查看你的PHP语言设置 第二 查看你的浏览器的编码设置 注意选择语言的顺序 第三 查看连接数据库的编码
php 输出的中文是问号的问题!
下面的echo,是肯定是没问题的。因为不关系到获取数据库
从mysql数据库读出的数据怎么是问号(?)
刚开始学php+mysql,写了个程序连接mysql在页面上度数据库内容时有时显示问号,即(???)这样,数据库中的内容是汉字非问号,读数据的页面有时会显示中文汉字,有时显示问号,如果显示问号的话多刷新几下页面的话,也会变成汉字页面,但是页面经常显示问号... 展开 poolo | 浏览4060 次 |举报 我有更好的答案2016-01...
php读取mysql数据库的内容后显示为乱码,中文变成问号怎么办?
换成UTF8肯定不行,因为是问号,肯定不是三字节到两字节 的问题,而是和拉丁1有关,因为问号是不可能转换的意思 ,失败了,解决:你需要 按数据流入的程序再配置好,再原路返回,,再换重新建库,导入 ,,OK 顺便说一下,出的分太少了
PHP插入MYSQL数据库中文变成乱码 问号
去MYSQL里面设置,不要在PHP里设置MYSQL的编码,乱码肯定就是编码问题无疑,推荐你先把MYSQL里面表的编码改好,然后再把PHP的编码改好,这样就应该没问题了。
数据库里的汉字显示在页面上来全是问号
header('Content-type:text/html;charset=utf-8')设置成gbk试试
plsql数据库中文 乱码 都显示为问号~???
应该是字段类型和数据类型的问题,导出数据到csv,重新设置一下匹配的数据类型再倒回去试试看,我以前遇到的是数据显示乱码,就这样弄好的,希望能帮到你O(∩_∩)O~
...确认时一整版的问号乱码替代了我的文字内容,问问这样恢复我的文字内...
就可以了。在数据库字符集编码没错的情况下如果还是中文显示问号,使用 String url = "jdbc:mysql://localhost/database?user=&password=&useUnicode=true&characterEncoding=gbk"; 进行数据库连接就可以了。主要要做到的是:数据库字符集编码与连接字符集编码是一致的。
VPS标题栏中文显示为问号,怎么破
解决图纸中的问号: 依.这里是有问号的字体,点击它,选择,然后使用点击右键,选择“特性”,进入改文字的特性表中,或者是组合键“ctrl+依”进入也可。 贰.进入特性表之后,这里需要记住三个重要信息,一个是最上方的“文字”然后是“图层”后面的“依5贰陆”,点击一下esc键去掉文字选中。 三.在...