- 浏览: 2056786 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (795)
- java (263)
- 聚类搜索引擎 (9)
- 经验之谈 (67)
- DSP (3)
- C++ (140)
- Linux (37)
- SNMP (6)
- Python (6)
- 数据库 (61)
- 网络 (20)
- 算法 (15)
- 设计模式 (4)
- 笔试题 (38)
- 散文 (35)
- 数据结构 (9)
- 银行知识 (0)
- 榜样 (9)
- Lucene (15)
- Heritrix (6)
- MetaSeeker (0)
- netbeans (12)
- php (3)
- 英语 (8)
- DB2 (0)
- java基础 (5)
- mongodb & hadoop (4)
- Javascript (7)
- Spring (4)
- ibatis & myibatis (1)
- velocity (1)
- 微服务 (0)
- paddle (1)
- 第三方 (0)
- 知识沉淀 (1)
- 建模 (0)
最新评论
-
0372:
标示对java很陌生!
中文乱码解决的4种方式 -
梦留心痕:
Java中\是转意字符, 可是你的这句话我没看懂,只要把得到的 ...
java中如何忽略字符串中的转义字符--转载 -
yanjianpengit:
[b][/b]
java为什么非静态内部类里面不能有静态成员 -
springdata-jpa:
可以参考最新的文档:如何在eclipse jee中检出项目并转 ...
eclipse 如何把java项目转成web项目 -
qq1130127172:
,非常好。
(转)SpringMVC 基于注解的Controller @RequestMapping @RequestParam..
1、出现乱码后,要想到字符集设置
2、在odbc配置设置没有作用
3、VC下Mysql配置语句:
int mysql_options(MYSQL *mysql, enum mysql_option option, const char *arg)
注意事项:
(1)能用于设置额外连接选项并且影响一个连接的行为。
(2)这个函数可以被多次调用来设置多个选项。
(3mysql_options()应该在mysql_init()之后和mysql_connect()或mysql_real_connect()之前调用。
(4)option参数是你想要设置的选项;arg参数是选项的值。如果选项是一个整数,那么arg应该指向整数值。
4.PHP里Mysql的配置语句:
mysql_query("set names 'gbk'");//这就是指定数据库字符集,一般放在连接数据库后面就行了,对汉语简体和繁体都可以
举例说明:
VC下完整的例子如下:
#include <iostream>
#include <windows.h>
#include <cstdlib>
#include <cstdio>
#include <mysql.h>
#pragma comment(lib, "libmysql.lib")
using namespace std;
MYSQL * conn;
int main()
{
char host[] = "localhost";
char username[] = "root";
char password[] = "123";
char database[] = "school";
MYSQL_RES * res_set;
MYSQL_ROW row;
unsigned int i, ret;
MYSQL_FIELD * field;
unsigned int num_fields;
//mysql_init(MYSQL *)
// return values: An initialized MYSQL* handle.
//NULL if there was insufficient memory to allocate a new object.
conn = mysql_init(NULL);
if(conn != NULL)
;//cout << "mysql_init success!" << endl;
else printf("failed !\n");
ret = mysql_options(conn, MYSQL_SET_CHARSET_NAME, "gb2312");
if(ret == 0)
;//cout << "mysql_options success!" << endl;
else printf("failed !\n");
if(mysql_real_connect(conn,
host,
username,
password,
database,
0, NULL, 0) != NULL)
;//cout << "mysql_real_connect success!" << endl;
else printf("failed !\n");
//printf("char set %s\n", mysql_character_set_name(conn));
mysql_query(conn, "insert into teacher values(7, 'fifth', 'shenzhen', '1986-6-6')");
printf("insert affect %d sentences\n", mysql_affected_rows(conn));
if(mysql_query(conn,"SELECT * FROM teacher")) //查询成功返回0 failed here!
printf("mysql_query failed!\n");
res_set = mysql_store_result(conn); //失败返回NULL
if(res_set == NULL)
printf("res_set is null\n");
/*
while((field = mysql_fetch_field(res_set)))
{
printf("field name %s\n", field->name);
}
*/
num_fields = mysql_num_fields(res_set);
for(i = 0; i < num_fields; i++)
{
field = mysql_fetch_field_direct(res_set, i);
printf("%s\t\t", field->name);
}
printf("\n");
while ((row = mysql_fetch_row(res_set)) != NULL)
{
for (i = 0; i < mysql_num_fields(res_set); i ++)
{
printf("%s\t\t",row[i] != NULL ? row[i] : "NULL");
}
printf("\n");
}
mysql_close(conn);
return 0;
}
2、在odbc配置设置没有作用
3、VC下Mysql配置语句:
int mysql_options(MYSQL *mysql, enum mysql_option option, const char *arg)
注意事项:
(1)能用于设置额外连接选项并且影响一个连接的行为。
(2)这个函数可以被多次调用来设置多个选项。
(3mysql_options()应该在mysql_init()之后和mysql_connect()或mysql_real_connect()之前调用。
(4)option参数是你想要设置的选项;arg参数是选项的值。如果选项是一个整数,那么arg应该指向整数值。
4.PHP里Mysql的配置语句:
mysql_query("set names 'gbk'");//这就是指定数据库字符集,一般放在连接数据库后面就行了,对汉语简体和繁体都可以
举例说明:
VC下完整的例子如下:
#include <iostream>
#include <windows.h>
#include <cstdlib>
#include <cstdio>
#include <mysql.h>
#pragma comment(lib, "libmysql.lib")
using namespace std;
MYSQL * conn;
int main()
{
char host[] = "localhost";
char username[] = "root";
char password[] = "123";
char database[] = "school";
MYSQL_RES * res_set;
MYSQL_ROW row;
unsigned int i, ret;
MYSQL_FIELD * field;
unsigned int num_fields;
//mysql_init(MYSQL *)
// return values: An initialized MYSQL* handle.
//NULL if there was insufficient memory to allocate a new object.
conn = mysql_init(NULL);
if(conn != NULL)
;//cout << "mysql_init success!" << endl;
else printf("failed !\n");
ret = mysql_options(conn, MYSQL_SET_CHARSET_NAME, "gb2312");
if(ret == 0)
;//cout << "mysql_options success!" << endl;
else printf("failed !\n");
if(mysql_real_connect(conn,
host,
username,
password,
database,
0, NULL, 0) != NULL)
;//cout << "mysql_real_connect success!" << endl;
else printf("failed !\n");
//printf("char set %s\n", mysql_character_set_name(conn));
mysql_query(conn, "insert into teacher values(7, 'fifth', 'shenzhen', '1986-6-6')");
printf("insert affect %d sentences\n", mysql_affected_rows(conn));
if(mysql_query(conn,"SELECT * FROM teacher")) //查询成功返回0 failed here!
printf("mysql_query failed!\n");
res_set = mysql_store_result(conn); //失败返回NULL
if(res_set == NULL)
printf("res_set is null\n");
/*
while((field = mysql_fetch_field(res_set)))
{
printf("field name %s\n", field->name);
}
*/
num_fields = mysql_num_fields(res_set);
for(i = 0; i < num_fields; i++)
{
field = mysql_fetch_field_direct(res_set, i);
printf("%s\t\t", field->name);
}
printf("\n");
while ((row = mysql_fetch_row(res_set)) != NULL)
{
for (i = 0; i < mysql_num_fields(res_set); i ++)
{
printf("%s\t\t",row[i] != NULL ? row[i] : "NULL");
}
printf("\n");
}
mysql_close(conn);
return 0;
}
发表评论
-
利用JDBC获取新插入记录id的三种方法
2016-11-12 20:26 1904在一对多的关联操作中,通常在一方插入记录后,需要获取到当前记 ... -
Selector 和 Paging
2015-10-10 11:19 1602import java.util.List; impo ... -
Hibernate Dao辅助类,提供Dao的基本操作
2015-10-10 10:50 3667import java.io.Serializable; ... -
批处理batch,执行多个SQL语句
2015-07-15 19:21 10637批处理batch,执行多个SQL语句。 ... -
Mysql字符集设置(转)
2015-05-08 20:00 1285最近,在项目组使用 ... -
MySQL的btree索引和hash索引的区别
2015-03-27 17:24 17498Hash 索引结构的特殊性,其检索效率非常高,索引的检索 ... -
关于MYSQL Innodb 锁行还是锁表
2015-03-18 10:08 1978关于mysql的锁行还是锁表,这个问题,今天算是有了一点头 ... -
XA分布式事务处理
2014-08-22 18:06 1664在谈到 XA 规范之前,必须首先了解分布式事务处理( Dis ... -
sql中in 与exists
2014-07-15 12:46 1392NOT IN SELECT DISTINCT MD001 ... -
hibernate的query.scroll()和query.setFirstResult(),query.setMaxResults();
2014-07-01 08:19 2036一、hibernate的query.scroll()和que ... -
长连接和短连接的区别
2014-06-25 16:46 3454短连接 连接->传输数据->关闭连接 HTTP是无 ... -
MySQL 读写分离
2014-06-24 15:20 0一 什么是读写分离 ... -
(转)mysql分表与分区表
2014-06-24 15:17 0一,什么是mysql分表,分区 什么是分表,从表面意思上看 ... -
MySQL表的分区
2014-06-24 15:08 0一、什么是表分区通俗地讲表分区是将一大表,根据条件分割成若 ... -
数据库表的拆分
2014-06-24 14:37 2663下面来分析一下: ... -
(转)聚集索引
2014-06-15 14:47 1095在上一篇文章中,我们已经介绍了非聚集索引相关的内容。在本篇 ... -
Google的神器
2014-05-28 21:31 11351 Chubby http://blog.csd ... -
LSM树--高效的存储
2014-05-10 09:11 3179转http://bofang.iteye.com/blog/ ... -
(转)一致性哈希算法
2014-05-08 21:58 1203转帖:http://mntms.iteye.com/blog ... -
Jedis使用
2014-05-08 21:33 1501目录 1 JEDIS简介 1 2 JEDIS简单使用 1 3 ...
相关推荐
### MySQL中文乱码问题及其解决...4. **在MySQL命令行中指定字符集**:适用于临时性解决问题或者已经存在的数据库。 通过上述方法之一或组合使用,可以有效地解决MySQL中的中文乱码问题,提高数据的完整性和准确性。
在解决中文乱码问题时,我们需要将 MySQL 数据库的编码格式设置为 GBK,以确保中文数据的正确显示。在 MySQL 中,我们可以使用以下命令来修改编码格式: ```sql ALTER TABLE table_name CONVERT TO CHARACTER SET ...
然而,在不同的服务器环境或MySQL版本之间迁移数据库时,常常会遇到中文乱码的问题。这种情况通常发生在从旧版本的MySQL(如4.x)迁移到新版本(如5.x)时。旧版本的MySQL对字符集的支持相对简单,而新版本引入了更...
在使用 Pb 将数据导入到 MySQL 5.0 时,可以在 ODBC 连接选项中添加 set names 语句,以解决中文乱码问题。具体来说,可以在 connector options 中的 initial statement 中添加以下语句: set names gbk 这样,在...
综上所述,解决ASP连接MySQL数据库时的乱码问题需要从多个角度考虑,包括但不限于数据库配置、ASP代码、文件编码、浏览器设置等。在调试过程中,逐个排查这些因素,往往能找出问题所在并修复。通过共享已验证的解决...
在本例中,使用的是MySQL 5.1.50-win32版本和ODBC 3.1版本,而这个版本的ODBC驱动可能会存在对某些字符集支持不足的问题,从而导致乱码现象。 为了解决这个问题,可以尝试升级ODBC驱动到5.1版本。这可能是因为ODBC ...
在使用MySQL与ODBC进行数据交互的过程中,经常会遇到中文显示乱码的问题。这主要是因为客户端与服务器端的字符集设置不一致所导致的。本文将详细介绍如何解决MySQL通过ODBC连接时出现的中文乱码问题。 #### 二、...
通过上述步骤,可以有效解决PowerDesigner在处理MySQL数据库时的乱码问题,确保数据的准确性和一致性,提高数据库管理和开发的效率。此外,参考相关的博客文章和资源也能帮助用户更深入地理解这些问题及其解决方案,...
- **创建ODBC数据源**:在Windows操作系统中,通过“控制面板”的“管理工具”>“ODBC数据源管理员”创建SQL Server和MySQL的ODBC数据源,配置相应的驱动程序和连接参数。 - **导出SQL Server数据**:使用SQL ...
在使用PowerBuilder 9(PB9)开发应用程序时,可能会遇到一个特定问题,即当向非中文数据库(如SQL Server)插入中文字符时,数据在第三方软件中显示为乱码。这个问题主要是由于PB9对Unicode支持不足导致的。本文提供...
当使用 PowerBuilder (简称 Pb) 工具导入数据到 MySQL 5.0 数据库时,如果源数据中的中文字符在导入后显示为乱码,这通常是因为 PowerBuilder 和 MySQL 之间的字符集设置不匹配造成的。 **解决方法**: 1. **配置 ...
在Java编程中,连接MySQL数据库并处理中文乱码是一个常见的挑战,尤其是在开发涉及多语言内容的应用时。本文将深入探讨如何解决这个问题。 首先,我们来看Java与MySQL的连接。使用JDBC(Java Database Connectivity...
在ASP(Active Server Pages)开发的网页中,与MySQL数据库交互时可能会遇到字符编码问题,尤其是在涉及非ASCII字符,如中文字符时。标题和描述提到的问题主要集中在UTF8编码和GB2312编码的冲突上,导致网页显示乱码...
此示例程序解决了这个问题,确保在数据的读取和写入过程中正确处理Unicode字符,从而避免乱码或数据丢失。 XML接口的引入,为数据交换提供了另一种灵活的方式。XML是一种自描述的、结构化的数据格式,易于解析和...
总结起来,通过Oracle的DBLink连接MySQL虽然涉及多个层面的配置,但通过正确地识别和解决问题,如HSODBC问题、监听配置问题以及字符集设置,可以成功建立跨数据库的连接。在面对RAC这样的高可用性环境时,需要更细致...
解决这个问题的方法是在连接数据库后,使用`SET NAMES`命令来设置字符集,如在方法一的代码中已经示例。 总结,ASP连接MySQL主要涉及以下步骤: 1. 安装MySQL ODBC驱动。 2. 创建ODBC数据源或在代码中直接构建连接...
在实际操作中,务必注意字符集的匹配,避免因字符集不一致导致的数据乱码问题。此外,安全也是重要的考虑因素,确保敏感信息如用户名和密码的安全存储。在整个配置过程中,每一步都需要仔细检查和测试,确保每个环节...
在ASP(Active Server Pages)中使用MYSQL数据库时,有时会遇到汉字显示为问号的乱码问题。这通常是由于字符编码不一致导致的。要解决这个问题,我们需要关注以下几个关键点: 1. **数据库字符集**: 数据库的默认...