cmd下MYSQL 添加数据中有中文会显示为乱码怎么办?

hfxujing1 2016-08-11 09:25:30

GBK UTF8 我都试过还是 ???这个东西。
...全文
296 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
傲雪星枫 2016-08-16
  • 打赏
  • 举报
回复
set names utf8; mysql字符集说明请参考:http://blog.csdn.net/fdipzone/article/details/18180325
DY_csdn 2016-08-15
  • 打赏
  • 举报
回复
字符集错误,你的输出终端与你存入的数据保存的字符集不匹配。 建数据库的时候最好指定字符集,建表时也一样 create database Test charset utf8; use Test; create table test ( //字段声明 ) engine=myisam charset=utf8;
xuzuning 2016-08-13
  • 打赏
  • 举报
回复
无论如何,你都要通知 MySQL 你需要哪个字符集得数据 set names gbk 是 GBK 的 set names utf8 是 UTF-8 的 所以花许多功夫去修改数据库的字符集是没有意义的,况且数据库也并非你一个人(项目)所有 你改变了数据库的字符集,就可能会影响到他人(项目)的工作
hfxujing1 2016-08-13
  • 打赏
  • 举报
回复
还有个 header("Content-type: text/html; charset=GBK"); 这一句 不管我改成 GB2312 UTF-8 GBK 。 都没用 还是 两个?。
hfxujing1 2016-08-13
  • 打赏
  • 举报
回复
引用 5 楼 xuzuning 的回复:
修改表的字符集,不会影响字段原有的字符集
修改字段的字符集,不会影响原有字段内容的字符集

你那些想当然的操作,只会使事情向坏的方向发展

版主那个CMD下乱码的问题,我已经解决了。
现在是网页中乱码的问题。
这是默认字符集截图,我更改的为GBK;

表截图:




我下面的代码是要 在网页中显示出 女孩 那两个字。
先看代码:
<?php
header("Content-type: text/html; charset=GB2312");
//创建一个对象
$conn=new mysqli("localhost","root","",'aa');
//使用函数判断连接是否成功
if(mysqli_connect_errno())
{
echo mysqli_connect_error();
}
//需要数据库执行的查询的。 查询
$sql="select chwords from dictionary where enwords='girl' ";
//调用query返回一个结果集并赋给$res
$res=$conn->query($sql);
//调用函数从结果集中取出数据并以数组的形式赋给$rows
$rows=$res->fetch_array();
//打印出下表为0的数组元素.
echo $rows[0];
?>
这是代码结果 :两个问号

首先,我能确定代码没有错。
下面这张图, 是我把值 改成GF 后 ,他就能顺利显示。



qq_33656484 2016-08-12
  • 打赏
  • 举报
回复
数据库 表格 字段 都设置统一的编码 三码合一
一起混吧 2016-08-12
  • 打赏
  • 举报
回复
show create table.. 看看
xuzuning 2016-08-12
  • 打赏
  • 举报
回复
修改表的字符集,不会影响字段原有的字符集 修改字段的字符集,不会影响原有字段内容的字符集 你那些想当然的操作,只会使事情向坏的方向发展
一起混吧 2016-08-12
  • 打赏
  • 举报
回复
谁知道你的字段是什么编码? 贴出show create table ... 的结果
xuzuning 2016-08-12
  • 打赏
  • 举报
回复
简体中文 windows 的 cmd 窗口之用的是 gbk 字符集 你需要先执行 set names gbk 命令
hfxujing1 2016-08-12
  • 打赏
  • 举报
回复
引用 1 楼 jordan102 的回复:
show create table.. 看看


版主好,我现在在跟着教程尝试做一个在线词典的 实例。
第3行4行 直接是空白了。那里应该是 中国人 中文 两个数据。

红色箭头部分。一个表单元插入两个数据。
根据你的建议 我用 show create table dictionary;语句 查询了表的创建语句。 结果显示 表的默认字符集 是utf8。
相信你也在图片中看的了 alter 语句, 我修改了表的字符集 为 GBK ,但是呢我用select 把表打印出来 ,中文部分还是乱码。


21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧