Ao usar o asp para ler o banco de dados MYSQL, aparecem caracteres ilegíveis. Todos os caracteres chineses são lidos? ? ? ? Este problema é porque
O conjunto de caracteres do banco de dados, o conjunto de caracteres da tabela e o conjunto de caracteres do campo estão todos definidos como: gbk_chinese_ci
Preste atenção em Stmt=Set Names 'GBK' na string de conexão do banco de dados. Esta frase deve ser incluída.
A seguir está o código do link asp para mysql. Observe que há um GBK na parte de trás. Isso especifica o tipo de codificação do link. Com base nos dados que você usa
Tipo de codificação da biblioteca. Modifique-o para o seu próprio.
ConnectionString=Driver={MySQL ODBC 3.51
Driver};Servidor=meuservidor;Banco de dados=mysql;Usuário=meuusuário;senha=minhasenha;Option=3;Stmt=Set
Nomes 'GBK'
Se você usar uma versão superior do mysql, esta situação ocorre frequentemente. Os caracteres chineses são frequentemente incluídos no php.
Método de referência:
Defina a fonte do mysql.
Adicione mysql.ini
[mysql]
conjunto de caracteres padrão = gb2312
[cliente]
conjunto de caracteres padrão = gb2312
[mysqld]
conjunto de caracteres padrão = gb2312 //ou gbk
Após a alteração do registro, o banco de dados antes da alteração não terá efeito. O conteúdo dos arquivos db.opt nesses diretórios de banco de dados será alterado para.
conjunto de caracteres padrão = gb2312
agrupamento padrão = gb2312_chinese_ci
Você também pode fazer isso
dim driverName,chs
driverName=Driver={mysql odbc 3.51
driver};servidor=localhost;banco de dados=teste;uid=loaer;pwd=123456;
definir conn=server.createobject(adodb.connection)
conn.open driverName
'Execute a seguinte frase antes de consultar
definir chs=conn.Execute(SET NOMES 'gb2312')
'Consulta tabela do banco de dados
sql = SELECT * FROM tb_commondata
Definir rs = conn.Execute(sql)
Dessa forma, não haverá caracteres ilegíveis