1。select from v$nls_parameters
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数据库中文乱码,如何解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)