搜索
查看: 3588|回复: 4

解决AMXX与MySQL中文问题

[复制链接]
发表于 2008-6-11 10:26:53 | 显示全部楼层 |阅读模式 来自 江苏连云港
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2008-6-11 10:29:30 | 显示全部楼层 来自 广东深圳

回复: 解决AMXX与MySQL中文问题

Post by 111222333
看到不少朋友在关心AMXX与MySQL中文问题,自己摸索了一下,把自己成功的经验拿出来讨论一下
有几种解决方法,我就谈一种比较合理的
一、关于安装,可采取默认,也可以在安装时选择UTF8编码
二、在创建数据库时,采用UTF8编码,如:[php]
result = dbi_query(dbc, "CREATE TABLE IF NOT EXISTS `data` (`ID`VARCHAR(35),...PRIMARY KEY(`ID`))ENGINE=InnoDB DEFAULT CHARSET=utf8;")
[/php]PRIMARY KEY(`ID`)指定ID字段为主键...

好贴,含金量高,看过一定要顶。。。:D :D
回复

使用道具 举报

发表于 2008-6-11 14:04:22 | 显示全部楼层 来自 广东广州

回复: 解决AMXX与MySQL中文问题

怎么个用法
弄了很久 不懂用在哪。。
回复

使用道具 举报

发表于 2011-8-1 20:15:36 | 显示全部楼层 来自 山东淄博
看到不少朋友在关心AMXX与MySQL中文问题,自己摸索了一下,把自己成功的经验拿出来讨论一下
有几种解决方法,我就谈一种比较合理的
一、关于安装MySQL,可采取默认,也可以在安装时选择UTF8编码
二、在创建数据库时,采用UTF8编码,如:[php]
result = dbi_query(dbc, "CREATE TABLE IF NOT EXISTS `data` (`ID`VARCHAR(35),...PRIMARY KEY(`ID`))ENGINE=InnoDB DEFAULT CHARSET=utf8;")
[/php]PRIMARY KEY(`ID`)指定ID字段为主键,建议使用,可以提高效率;ENGINE=InnoDB DEFAULT CHARSET=utf8如果你省了这步,也可以,但默认安装了用图形界面软件浏览时汉字同样会是乱码
三、也是关键所在,在一次查询或一次写入时要注意编码转换,你可以采取
查询
[php]
...
result = dbi_query(dbc, "SET NAMES 'utf8';")
result = dbi_query(dbc, "SELECT * FROM data WHERE ID = '%s';", name)
...
if(result >= RESULT_OK)
dbi_free_result(result)
[/php]
更新
[php]
result = dbi_query(dbc, "SET NAMES 'utf8';")
result = dbi_query(dbc, "UPDATE data SET SIGN = '%s' WHERE ID = '%s';", signs, name)
if(result != RESULT_FAILED)
dbi_free_result(result)
[/php]
插入
[php]
result = dbi_query(dbc, "SET NAMES 'utf8';")
result = dbi_query(dbc, "INSERT INTO data VALUES ( '%s', '%s');", name, signs)
if(result != RESULT_FAILED)
dbi_free_result(result)
[/php]
请注意
[php]
result = dbi_query(dbc, "SET NAMES 'utf8';")
[/php]
这样无论你是用图形界面软件浏览还是用AMXX写入或读取,都是正常的汉字,不会出现乱码
关于使用图形界面浏览的软件,个人推荐Navicat Lite for MySQL,无论是编辑还是备份、恢复,你都会感到愉快的
回复

使用道具 举报

发表于 2011-8-27 11:02:42 | 显示全部楼层 来自 四川德阳
看不懂!!!
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

快速回复 返回顶部 返回列表