为什么MySql的表记录中有些中文显示问号

为什么MySql的表记录中有些中文显示问号,第1张

这是字符集不一致造成的。

修改mysql的默认字符集是通过修改它的配置文件来实现的。一般分两种情况:

Windows平台

windows下的mysql配置文件是myini,一般在c:windowsmyini或者c:winntmyini可 以直接在这个文件里面加上

default-character-set=gbk #或gb2312,big5,utf8

然后重新启动mysql

service mysql restart 或 /etc/initd/mysql restart

或用其他方法重新启动,就生效了。

Unix(linux)平台

linux下的mysql配置文件是mycnf,一般是/etc/mycnf,如果找不到可以用find命令找一下:

find / -iname mycnf

在这个文件里面加上

default-character-set=gbk #或gb2312,big5,utf8

然后重新启动mysql

net stop mysql

1、检查并修改mysql的myini的配置文件。

default-character-set=utf8

2、建立数据库是要指定字符集。

create database mydb default character set utf8 collate utf8_general_ci;

3、建立数据表示也要指定字符集。

CREATE TABLE IF NOT EXISTS `mydb` (

`username` varchar(64) NOT NULL,

`userid` int(11) NOT NULL,

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

解决方法:

1、打开mysql安装目录下的myini文件,找到如下代码:

# CLIENT SECTION

# ----------------------------------------------------------------------

[client]

port=3306

[mysql]

default-character-set=latin1

# SERVER SECTION

# ----------------------------------------------------------------------

#

# The following options will be read by the MySQL Server Make sure that

# you have installed the server correctly (see above) so it reads this

# file

#

[mysqld]

# The TCP/IP Port the MySQL Server will listen on

port=3306

#Path to installation directory All paths are usually resolved relative to this

basedir="D:/Program Files/MySQL Server 50/"

#Path to the database root

datadir="D:/Program Files/MySQL Server 50/Data/"

# The default character set that will be used when a new schema or table is

# created and no character set is defined

default-character-set=latin1

将default-character-set=latin1修改为:default-character-set=gb2312

2、打开hibernate配置文件,添加如下代码:

<property name="url">

jdbc:mysql://localhost/testuser=root;password=123456;useUnicode=true;characterEncoding=gbk

</property>

3、重启mysql,ok!

查找了N多资料,自己总结尝试可以,我的就是怎么解决的,如果你的问题解决了,麻烦说一声哦,祝你好运!

你好,大多数都是字符集不一致导致的乱码问题。对于出现乱码或问号等不正常显示问题,根据数据库字符集,正确配置参数NLS_LANG,一般可以解决,如果仍出现乱码,则可能和所使用的工具的字体编码设置有关。

那么解决出现的乱码时应该依次检查:查看数据库和客户端字符集,主要设置NLS_LANG;查看系统语言设置LANG参数;查看所用终端、工具字体编码设置。

针对所出现的问题,查看plsql的字体编码为GB2312,CRT的字体编码是UTF-8,修改为GB2312,centos终端修改-终端设置-字符编码修改,乱码问题解决。

无论数据库或者是页面 出现乱码 问号 空白 那基本就是编码不一致的问题。你数据库设置了什么编码 比如是UTF-8 那么你页面也设置这个编码 并且使用header("Content-Type: text/html; charset=utf-8");让浏览器也使用这个编码 并且在连接数据库的时候 mysql_query("SET NAMES utf8"); 那么就不会出现乱码 问号 空白等情况了。 其实就是让数据库 页面 浏览器编码一致就可以。你检查一下。

以上就是关于为什么MySql的表记录中有些中文显示问号全部的内容,包括:为什么MySql的表记录中有些中文显示问号、部分中文插入mysql数据库变成问号,怎么回事、我的MYSQL里面的中文都变成问号了等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10204876.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存