温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何解决Python语言应用在MySQL数据库中的问题

发布时间:2021-10-28 16:34:24 来源:亿速云 阅读:131 作者:柒染 栏目:编程语言

这篇文章将为大家详细讲解有关如何解决Python语言应用在MySQL数据库中的问题,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

Python语言在广泛的地方都有应用,在长时间的应用中有不少的问题困扰着我们。

试了很久,无论在connect的时候指定charset='utf8',还是使用set_character_set(),或者执行"SET NAMES UTF8",跟踪到character_set_name()方法返回的都是latin1...再跟代码,似乎就跑到mysql-api里去了,反正***解决的办法也很简单,就是使用如下方式执行,而不要去拼sql语句……

Python语言 代码

>>> sql = "INSERT INTO t_user(name,nickname) values(%s,%s)"   >>> param = ("张三","张三的昵称")   >>> cursor.execute(sql,param)

使用gettext来实现。其实就是一个文本替换的方式,和java里用ResourceBundle、properties比较类似……

1.导入gettext模块

Python语言 代码

import gettext   gettext.install('i18ntest', './locale', unicode=True)

参数说明:

作用域:用于限定翻译文件的主名路径:翻译文件所在路径unicode:使用unicode

2.把代码里需要国际化的文本全部使用_("text")的形式进行替换

3.需要进行国际化处理时,调用

python 代码  gettext.translation('i18ntest', './locale', languages=['cn']).install(True)

现在程序写好了,需要生成所需资源文件了:

1.调用python安装目录的 Tools/i18n/pygettext.py抽取所需翻译的模板

>>> pygettext.py path/to/yourfile.py

将生成一个名为messages.pot的文件

2.生成模板文件后,修改这个模板文件,其中的msgid为键值,对应你程序里写的文本,如:_("New File"),而msgstr为翻译后的值。还有就是注意修改文件头部分Content-Type的charset为合适的编码,比如utf8

3.编写好模板后,把扩展名修改为.po,运行Tools/i18n/msgfmt.py,生成二进制的资源文件

>>> msgfmt.py messages.po

将生成一个名为messages.mo的文件

4.把这个mo文件放在正确的位置.比如你在程序中是这样写的:

gettext.install('i18ntest', './locale', unicode=True)  gettext.translation('i18ntest', './locale', languages=['cn']).install(True)

那么你的程序目录下需要存在./local/cn/LC_MESSAGES/i18ntest.mo这样程序启动时就会读取这个资源文件,替换对应的文本,实现国际化了。

关于如何解决Python语言应用在MySQL数据库中的问题就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI