`
chaoslawful
  • 浏览: 197979 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

对GNUCash进行的一点儿改进

阅读更多

当前版本的 GNUCash 在连接 MySQL 数据库时有个比较严重的字符编码问题:为了兼容 Unicode 字符,GNUCash 在 gnc_dbi_mysql_session_begin() 函数中主动执行 SET NAMES 'utf8' 语句设定 MySQL 连接字符编码为 UTF-8,但遗憾的是用来在连接故障时修复连接的 gnc_dbi_verify_conn() 函数并没有进行类似的操作。一旦数据库连接因网络问题意外断开,用户输入新交易时就会使用 gnc_dbi_verify_conn() 重新创建的新连接,而该连接的字符编码是默认的 latin1,直接后果就是输入中文等字符都变成了一堆乱码。

 

实际上 GNUCash 底层使用的 libdbi 库是考虑了连接字符编码问题的,其专门提供了一个 "encoding" 的设置选项用来对连接字符编码进行通用设置,底层的各个 driver 在创建连接时都会尊重该设置。所以只要简单地增加该选项,不管连接怎么断开重连,字符编码都能保持正常。

 

打上附件中的 fix_charset.patch 就可以修正此问题了。

 

另外,General Ledger 功能实际上非常好用,有了它就不需要在各个 Account 之间来回切换查帐了。但 GNUCash 目前默认在 General Ledger 中只显示最近一个月的交易,可苦了想对更老交易对账的用户。

 

我对其进行了小小的修改,打上附件中的 enh_general_ledger.patch 即可让 General Ledger 显示当前年度的所有交易,这样对账就非常方便了。

 

  • fix_charset.patch.gz (590 Bytes)
  • 描述: 修正数据库连接断开重连后字符编码错误的问题
  • 下载次数: 3
2
1
分享到:
评论
3 楼 chaoslawful 2013-02-06  
yangdong 写道
要是能直接提交到 sourceforget 就好了。大家都一起受益。

给 gnucash 的 bugzilla 提了一个 issue,但是石沉大海了……
2 楼 yangdong 2013-01-23  
要是能直接提交到 sourceforget 就好了。大家都一起受益。
1 楼 buyhome 2012-12-04  
太好了

相关推荐

    Laravel开发-gnucash-eloquent

    在本文中,我们将深入探讨如何在 Laravel 框架中为 Gnucash 开发后端,特别是使用 Eloquent ORM(对象关系映射)来与 MySQL 数据库进行交互。Gnucash 是一款开源的会计软件,它允许用户管理个人或小型企业的财务记录...

    GNUcash3.7.rar

    GNUcash3.7 for windows os GnuCash 是个人或小型企业财务软件,是免费授权于GNU GPL的软件,它支持多种操作系统,包括GNU/Linux、BSD、Solaris、Mac OS X 以及微软的 Windows。多国语言版,包括简体中文。被设计...

    gnucash-django, GnuCash简单的Web前端,使用 Django.zip

    gnucash-django, GnuCash简单的Web前端,使用 Django GnuCash的移动友好Web前端,主要使用 Django 编写。特性查看GnuCash帐户中的交易,以及它们的opposing帐户""按相反的帐户。事务描述或者事务发布日期进行筛选...

    小白也可以用的软件免费开源财务管理软件 GnuCash 4.9 中文多语免费版

    GnuCash 是一个可以用于个人或小型企业的免费财务软件,免费授权于 GNU GPL 软件,它支持多种操作系统,包括 GNU/Linux、BSD、Solaris、Mac OS X 以及微软 Windows。支持多国语言,当然还少不了简体中文。GnuCash 被...

    Android代码-gnucash-android

    GnuCash Android is a companion expense-tracker application for GnuCash (desktop) designed for Android. It allows you to record transactions on-the-go and later import the data into GnuCash for the ...

    gnucash-guide.chm

    爱要不要gnucash-guide.chmgnucash-guide.chmgnucash-guide.chmgnucash-guide.chmgnucash-guide.chmgnucash-guide.chm

    开源财务管理软件 GnuCash 4.5.zip

    GnuCash 是一个可以用于个人或小型企业的免费财务软件,免费授权于 GNU GPL 软件,它支持多种操作系统,包括 GNU/Linux、BSD、Solaris、Mac OS X 以及微软 Windows。支持多国语言,当然还少不了简体中文。GnuCash 被...

    gnucash使用手册

    ### Gnucash 使用手册知识点详解 #### 一、Gnucash 概述与核心概念 **Gnucash** 是一款专为个人和小型企业设计的开源财务管理和会计软件,支持多种操作系统,包括 Linux、Windows 和 macOS。该软件采用了**复式簿...

    gnucash-help

    这使得用户可以免费获得最新的财务管理工具,并且可以根据自身需求对其进行定制。 2. **用户友好的界面**:GnuCash的设计简洁直观,即使是初次使用的用户也能快速上手。同时,软件提供了详尽的帮助文档和在线支持...

    GnuCash Export Modifier:修改GnuCash Trasnaction导出的Perl实用程序-开源

    总的来说,GnuCash Export Modifier是一个为GnuCash用户量身打造的数据处理工具,通过Perl的强大功能,简化了对GnuCash交易数据的分析工作。它不仅节省了用户在电子表格工具中操作的时间,还提供了更高的定制化可能...

    docker-gnucash:集装箱式GnuCash

    容器中的GnuCash Dockerized GnuCash( )。 当前基于Ubuntu 15.04。 当前的GnuCash版本:2.6.4建造: docker build -t gnucash .跑步: 允许来自容器的Xlib调用: xhost +LOCAL: 在容器中启动GnuCash: docker run ...

    gnucash-to-beancount:Gnucash转Beancount转换器

    Gnucash转Beancount转换器 将您的Gnucash Sqlite3文件转换为Beancount文本分类帐。 需要Python 3.3+ 安装 pip install gnucash-to-beancount 用法 gnucash-to-beancount my-ledger.gnucash > my-ledger.beancount ...

    gnucash-invoice:易于使用的GnuCash发票打印机

    GnuCash ::发票 适用于人类的GnuCash发票打印机。 安装 $ gem install gnucash-invoice 用法 GnuCash发票打印机当前支持SQLite,使用非常简单。 列出所有可以打印的发票: $ gnucash-invoice --dbpath /path/to/db....

    gnucash-android:适用于Android移动伴侣应用程序的Gnucash

    收入/支出帐户类型(类别) :这些不仅可以对现金流量进行分类,而且可以与重复输入功能配合使用时,可以提供准确的损益表。 预定的交易:GnuCash具有自动创建和输入交易的能力。 导出到GnuCash XML ,QIF或OFX。...

    gnucash-reports:GnuCash的自定义报告

    一组自定义的条形图和饼形图报告根据标签对帐户进行分组。 尽管已在我自己的系统上对此进行了测试,并且看起来工作正常,但不能保证报告的准确性,并且可能存在错误。 测试,建议和代码贡献深表感谢! 动机 GnuCash...

    【最新版】Gnucash-Intel-4.1-2.dmg【亲测可用】最好的复式会计记账

    复式会计记账 股票、债券、基金账户 小型企业会计 报告、图表 QIF、OFX、HBCI 导入数据以及交易匹配 计划的交易

    finquick:Web应用程序访问gnucash财务数据

    用于访问金融服务和GnuCash数据库的由GnuCash,Google chrome等使用的同一台进行管理。配置GnuCash数据库预算访问我们使用命令行约定来创建Web密钥。 一种Web密钥授权在秘密存储区(例如Gnome密钥环)中查找GnuCash...

    jGnucashLib:替代Gnucash实施-开源

    4. **开放源代码**:作为开源软件,jGnucashLib的源代码可供任何人查看、学习和改进。这鼓励了社区的参与,促进了项目的持续发展和完善。 在项目源代码中,我们可以看到一系列相关的文件,如`.classpath`和`....

    Gnucash-Python-Example:用于将数据导入 Gnucash 的 Python 脚本示例

    Gnucash是一款开源的个人和小型企业财务管理软件,它提供了强大的会计功能,包括双记账、预算管理、投资跟踪等。在这个项目中,我们关注的是如何利用Python脚本自动化地将数据导入到Gnucash中。这个名为"Gnucash-...

Global site tag (gtag.js) - Google Analytics