发布网友 发布时间:2022-04-07 20:52
共3个回答
懂视网 时间:2022-04-08 01:14
数据库乱码问题主要都是因为字符集设置的有问题!
1、在数据库里通过查看配置的字符集:
数据库可以设置的字符集有:
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>
其中主要常使用的有:
+----------+-----------------------------+---------------------+--------+
| Charset | Description | Default collation | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1 | cp1252 West European | latin1_swedish_ci | 1 | mysql默认字符集
| gb2312 | GB2312 Simplified Chinese | gb2312_chinese_ci | 2 | 系统默认字符集
| utf8 | UTF-8 Unicode | utf8_general_ci | 3 | 中英文混合时使用
| gbk | GBK Simplified Chinese | gbk_chinese_ci | 2 | 大量中文字符集
+----------+-----------------------------+---------------------+--------+
查看数据库当前使用的字符集:
mysql> show variables like ‘character%‘;
+--------------------------+----------------------------+
| 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 | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
mysql>
本文出自 “MySQL_db” 博客,请务必保留此出处http://mysqldb.blog.51cto.com/10264653/1658342
数据库乱码问题解决剖析
标签:character mysql 数据库
热心网友 时间:2022-04-07 22:22
从后台读取数据时,通常会出现乱码情况,比如“汉字”变成“?”等,造成这种情况的原因通常是编码设置不对,解决方法如下:
第一种方法:在php中添加如下代码,将编码格式设为“utf-8”,代码如下:
header("Content-Type: text/html; charset=UTF-8");
第二种方法:在php中添加另外一行代码,同样用来转码,代码如下:
$conn = mysqli_connect($servername, $username, $password, $mysqlname);
$conn->query("SET NAMES utf8");
该种情况是先创建链接,之后再转码。
另外,在使用数据库时,直接手动(非代码)建表,通常会在表中输入汉字时,浏览时无法显示或显示为“?”,造成这种情况的原因也是编码问题,解决方案如下:
在建表或建库时,表和库的编码格式一定要统一,设置成:“utf8_general_ci”,如下图:
热心网友 时间:2022-04-07 23:40
数据库提取中文是乱码,那就是你的电脑中了病毒。所以要清理杀毒一下。aqui te amo。追问我去试下