leon 发表于 2010-8-2 18:17:28

【已解决】向mysql数据库插入中文显示乱码

本帖最后由 leon 于 2018-4-15 08:40 编辑

各位老大,通过mysql.udf向mysql中插入中文数据的时候总是显示乱码,请高手帮忙解答下,谢谢。
字符默认是utf8。
附件为mysql.udf,以下为插入数据代码片段:$Inputname = InputBox("用户名", "请输入将要添加的考勤用户名。", "", "", -1, 120)
                Sleep(100)
                $Inputpassword = InputBox("密码", "请输入考勤密码。", "", "", -1, 120)
                Sleep(100)
                $line = "INSERT INTO user VALUES (" & "''," & "'" & $Inputname & "', " & "'" & $Inputpassword & "')"

                $connect = _MySQLConnect("attendance", "attendance", "attendance_record", "127.0.0.1", "{MySQL ODBC 3.51 Driver}", 3306)
                If $connect = 0 Then
                        MsgBox(0, "失败", "连接数据库失败")
                EndIf

                If @error = 1 Then
                        MsgBox(0, "错误", "无法打开数据库")
                ElseIf @error = 2 Then
                        MsgBox(0, "错误", "没有安装ODBC3.51的驱动")
                EndIf
                ;Connect attendance_record database via mysql ODBC3.51 driver.

                $Addusers = _Query($connect, $line)
                If $Addusers = 0 And @error = 1 Then
                        MsgBox(0, "失败", "数据库连接有问题,用户添加失败。")

                Else
                        MsgBox(0, "成功", "考勤系统成功添加" & $Inputname & "用户")
                EndIf
解决方案如下:
$setchar = "set names 'gbk'"
_Query($connect, $setchar)

leon 发表于 2010-8-3 12:59:31

没有人肯指点一下吗?我自己顶。。。

leon 发表于 2010-8-4 08:46:33

怎么没有人愿意帮我啊,在线等。。。

leon 发表于 2010-8-5 09:36:53

自己顶,在线等。。。

leon 发表于 2010-8-5 13:52:08

已经搞定。。。。

261869247 发表于 2010-8-8 08:58:06

是怎么搞定的 能共享下吗?

sonny 发表于 2010-8-23 11:42:11

我也在寻找解决办法, 希望楼主指点一下,谢谢。

my788521 发表于 2010-9-1 21:06:42

_MySQL_Query($MysqlConn, "set names gbk")

在连接mysql后运行一下这个命令 设置下字符集就ok了
楼主咋不贴出来大家分享

haodd 发表于 2011-2-11 14:51:05

_MySQL_Query($MysqlConn, "set names gbk")

在连接mysql后运行一下这个命令 设置下字符集就ok了
楼主 ...
my788521 发表于 2010-9-1 21:06 http://www.autoitx.com/images/common/back.gif


    以前我也有同样的疑问

Hardy 发表于 2011-6-15 16:36:40

注意一下。你这一招并非全部都通用的。视mysql主机的字符集而定。
你这个问题乱码是因为mysql字符集的问题而非客户端。程序默认是以utf8编码的。
而mysql的编码有非常多的。如果把mysql设置正确了也不会存在乱码的问题。

ojoojo 发表于 2011-11-21 09:47:39

_MySQL_Query($MysqlConn, "set names utf8")
这一个不知为什么会出显乱码,现在我想把字符使用utf8的显示

scorpio1102 发表于 2013-2-21 17:17:46

我用gbk, insert into 中文值进不进mysql,换成英文就insert into 成功了,但是用mysql-Front后台插入中文就完全OK.字段属性是varchar,怎么回事,希望回复.

shuaiw 发表于 2013-3-13 15:36:55

回复 12# scorpio1102
这个问题解决了吗?我也出现了一样的问题,现在不知道怎么解决呢

shuaiw 发表于 2013-3-13 15:40:12

回复 9# haodd

想知道各位是怎么将中文输入进去的,我这边只要有中文的就插入不进去,换成英文就可以。

Yuan310 发表于 2013-5-24 19:07:41

UTF8不也支持中文吗?难道非要修改成gbk吗?
页: [1] 2
查看完整版本: 【已解决】向mysql数据库插入中文显示乱码