sql查询的数据出现乱码问题

sql查询的数据出现乱码问题,第1张

1。select from v$nls_parameters

查询nls的参数,获得数据库服务器端的字符编码

NLS_LANGUAGE

NLS_CHARACTERSET

2。修改本地环境变量,设置

NLS_LANG = SIMPLIFIED CHINESEZHS16GBK //这个是我们的数据库字符编码

NLS_LANG格式

NLS_LANG = language_territorycharset

有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。其中:language 指定服务器消息的语言。

territory 指定服务器的日期和数字格式。

charset 指定字符集

解决乱码有几种方式:

在读取数据库的时候设置连接编码:mysql_query("set names utf8");

在读取数据库的php文件的头部加:header("Content-type:text/html;charset=utf-8");

php文件不是utf8格式的编码,需要转化。用notpad++文本编辑器打开php文件,点击菜单中的“格式”,查看是否是“以utf8 无bom格式编码”,不是的话请转成此格式。

html格式的在头部加上:<meta >

你看看你的是哪一种情况,都对比做的一下,还不行在问我。

将浏览器中的编码改成utf-8,数据库中也是。在php页面首行加上header("Content-type:

text/html;

charset=utf-8");,必须首行,前面不能有输出。

还有,在查询数据库时加上:mysql_query(set

names

utf-8);

修改数据库mysql字符编码为UTF8

Mysql数据库是一个开源的数据库,应用非常广泛。以下是修改mysql数据库的字符编码的 *** 作过程。

步骤1:查看当前的字符编码方法

mysql> show variables like'character%';

+--------------------------+----------------------------+

|Variable_name |Value |

+--------------------------+----------------------------+

|character_set_client |latin1 |

| character_set_connection |latin1 |

| character_set_database |latin1 |

| character_set_filesystem |binary |

|character_set_results |latin1 |

|character_set_server |latin1 |

|character_set_system |utf8 |

|character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

8 rows in set (000 sec)

字符编码为latin1时,用户在给数据表插入一条字符类型(char)的记录,在显示此记录时可能会无法正常显示字符类型的数据,故此处我们将mysql字符编码修改为UTF8。 *** 作如下:

步骤2:修改mycnf配置文件,修改后如下:

[client]

#password = your_password

port = 3306

socket = /var/lib/mysql/mysqlsock

default-character-set=utf8 #设置默认编码为UTF8

以上就是关于sql查询的数据出现乱码问题全部的内容,包括:sql查询的数据出现乱码问题、php连接数据库插入数据后,mysql中查询汉字字符乱码、php显示中文乱码,phpmyadmin里的MySQL数据库中文乱码,如何解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存