liouyesu 发表于 2022-9-29 12:29:49

请问如何连接中文名的数据库(已修改官方模块解决)

本帖最后由 liouyesu 于 2022-9-30 14:13 编辑

RT

数据库名是中文名,各种转码我都试了,论坛大佬提供的MYSQL客户端工具也试了,还是连不上
应该是连接数据库名的编码问题
数据库本身是utf8,中文命名的,请问怎样转才连得上
我的理解应该是这样转   UTF8到文本 (编码_Unicode到Utf8 ("折扣汇总")),但是还是连不上

static/image/hrline/1.gif
;P不想解决不了问题就解决出问题的人,所以翻遍各种模块,找到个解决的方法,分享给大家,希望以后能更新到官方更新中里面使用更方便.上面个是原连接方法,我后面直接复制然后稍微修改了一下。
第二种方法记得在连接前一定要设置连接的字符集为UTF8

置当前字符集("UTF8")或者置当前字符集("utf8mb4")
数据库无论是中文还是什么其他语言,比如拉丁文,阿拉伯文都能直接连上了
执行SQL语句其实也有一样的问题,如果里面包含什么特殊的语言文字,都会失败,应该是模块里面文本转换的问题,暂时我是用二进制那个命令把执行语句换成字节集来完成的,希望改进,毕竟是官方模块

liouyesu 发表于 2022-9-29 18:24:47


用的官方那个MYSQL模块,里面的代码也许应该怎么调整下能使用中文数据库?

创世魂 发表于 2022-9-29 22:22:35

我这边测试都创建不了中文数据库……改个名吧。。用拼音也行。里面的字段表名可以用中文都没问题。

liouyesu 发表于 2022-9-29 23:12:30

本帖最后由 liouyesu 于 2022-9-29 23:17 编辑

:L主要是有点多,这个造成的原因是什么有分析到吗本来从易改到火山以为不需要编码转换那些。。。。。。。。。。。结果现在还转不动真尴尬:L

BYWMnn9QFz59L6 发表于 2022-9-30 08:48:27

封装个方法,用文本到文本键键值对吧表名替换成字母吧,取出来的时候再反过来替换

liouyesu 发表于 2022-9-30 10:11:11

BYWMnn9QFz59L6 发表于 2022-9-30 08:48
封装个方法,用文本到文本键键值对吧表名替换成字母吧,取出来的时候再反过来替换 ...

不是表,是库名是中文,一开始连接都连不上,老哥能举个例子看怎么操作吗

BYWMnn9QFz59L6 发表于 2022-9-30 11:15:17

liouyesu 发表于 2022-9-30 10:11
不是表,是库名是中文,一开始连接都连不上,老哥能举个例子看怎么操作吗 ...

这样,我的意思是你把原来的数据库名改成英文字母,先将原中文名数据库数据导出,创建新英文名数据库再导入
然后在连接前对数据库的名称进行替换,将中文数据库名替换成对应的数据库英文名
将这个过程封装起来通过方法调用,这样你原先的sql语句就不需要变更,可以继续使用中文数据库名的sql语句

BYWMnn9QFz59L6 发表于 2022-9-30 11:16:42

当然如果你无法使用火山打开/操作原先已经存在的中文名数据库,导出数据这一步可能还要借用之前的易语言程序或是其他程序来实现

liouyesu 发表于 2022-9-30 11:55:25

BYWMnn9QFz59L6 发表于 2022-9-30 11:16
当然如果你无法使用火山打开/操作原先已经存在的中文名数据库,导出数据这一步可能还要借用之前的易语言程 ...
嗯,明白了.谢谢兄弟
暂时是想搞明白是什么原因造成的这种问题,避免以后遇到类似情况能解决.
只是目前的方法好像都是解决出问题的对象,而不是把这个问题解决了。。。。。。
解决不了问题就解决出问题的人,啊哈哈哈哈哈
页: [1]
查看完整版本: 请问如何连接中文名的数据库(已修改官方模块解决)