在使用VC++操作数据库的中文时,一般都可以正常显示,但是经常是到网页中的时候都会显示为乱码,原因就在于字符集问题,GBK、GB2312、Gb18030与UTF-8等的切换经常会导致显示为乱码,所以最好的方法就是全部使用UTF-8进行操作。
具体是:
一、在VC++操作数据库进行读写的时候,连接数据库之后
g_mdb.OpenDb( 数据库名称, IP, 账号, 密码 );
g_mdb.LockInit();
g_mdb.SetUtf8();
SetUtf8函数的实现方式为:
inline void CMySqlDb::SetUtf8()
{
mysql_set_character_set( m_pMySql, "utf8" );
}
在获取数据库内容的时候用:
g_mdb.Get( dDoc_nr, s, 1024 );
Utf8_To_Multi( s, 1024 );
在写入数据库内容的时候用:
sprintf_s( s, 1024, "%s", m_edt3.m_ps );
GBKToUTF8( s );
g_mdb.InsertUpdate( "nr", s );
二、在网页中操作的时候,就直接用UTF-8的文件格式就可以,其他的正常操作数据库就可以
$con = mysqli_connect( 数据库名称, IP, 账号, 密码 );
if( mysqli_connect_errno() )
{
printf( '连接失败: %s', mysqli_connect_error() );
exit;
}
$sql = "Select * from Doc ";
$result = mysqli_query( $con,$sql);
留言与评论(共有 0 条评论) “” |