我想使用千位分隔符格式化长数字.它可以使用to_char函数完成,如:
SELECT TO_CHAR(76543210.98, '999G999G990D00')
Run Code Online (Sandbox Code Playgroud)
但是当我使用UTF-8编码的PostgreSQL服务器在波兰语版本的Windows上时,SELECT结束于:
ERROR: invalid byte sequence for encoding "UTF8": 0xa0
HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding".
Run Code Online (Sandbox Code Playgroud)
在to_char模式G中描述为:组分隔符(使用区域设置).当服务器在具有波兰语语言环境的Linux上运行时,此SELECT可以正常运行.
作为一种解决方法,我使用空格而不是G格式字符串,但我认为应该像在Oracle中一样设置千位分隔符:
ALTER SESSION SET NLS_NUMERIC_CHARACTERS=', ';
Run Code Online (Sandbox Code Playgroud)
这样的设置是否适用于PostgreSQL?
我将波兰字体嵌入到从HTML转换的PDF中时遇到问题.
我的HTML代码在正文中有样式:
<BODY style="font-family: Tahoma, Arial, sans-serif;font-size : 8pt;">
Run Code Online (Sandbox Code Playgroud)
我尝试了两种将这种HTML转换为PDF的方法:
对于FOP,我可以将所有使用过的字体添加到其配置文件中,然后创建PDF,嵌入这些字体(如果字体用于HTML).在生成的PDF中,我在Identity-H编码中使用了Tahoma字体.它看起来不错 - 所有波兰语字母都按预期显示.
然后我尝试用iText进行这样的转换:看起来比较简单,因为我不需要为每个HTML创建转换.不幸的是,我不知道如何将使用过的字体嵌入到生成的PDF中.我发现的大多数示例都是从头开始创建PDF,我不知道如何将这些方法应用于Flying Saucer ITextRenderer或转换中使用的其他对象.
我当前的代码尝试PDFCreationListener.preOpen()通过获取ITextFontResolver和添加字体来添加字体fs.addFont(path, true);.但我创建的所有.pdf都没有我想要的字体.
第二个问题是结果PDF没有波兰语字母.飞碟或iText有问题吗?Acrobat显示创建的PDF文档使用带Ansi编码的Helvetica和ArialMT作为字体.我认为这个Ansi编码不好.如何设置波兰语编码(Identity-H)?
当我们访问中央存储库时,Subversion工作得很好,但有时两个或多个开发人员在客户端工作,他们没有连接到中央存储库.我正在寻找可以帮助我们离线的DVCS.
这应该:
有人使用Bazaar,Mercurial,git或其他东西,可以展示它的优势和陷阱吗?到目前为止,我开始(真的回到)用Tortoise Bazaar测试Bazaar.
我有一个简单的应用程序,它使用dbExpress连接Informix数据库.如果我用TurboDelphi编译它,它适用于WinXP和Win2003.
当我使用新的Deplhi 2009时,我的应用程序在WinXP上工作正常,但不能在Win2003上启动.没有MessageBox有错误,只有EventLog中的信息:
故障应用程序inf_dbexpress_test.exe,版本0.0.0.0,故障模块kernel32.dll,版本5.2.3790.4062,故障地址0x0000bee7.
我认为这是dbExpress驱动程序的问题,而我用于使用ODBC连接Informix的德里2009编译的其他应用程序适用于Win2003.
任何人都可以测试Delphi 2009的Informix dbExpress驱动程序是否适用于Windows 2003?
谢谢你的帮助,但它不起作用.
至于$INFORMIXDIR:我重新安装了ClientSDK 3.5,我$INFORMIXDIR现在是:
C:\ Informix的
(是c:\ Program Files ...).
我可以从我的使用ODBC的应用程序连接到数据库.但是,即使在WinXP兼容模式下,dbExpress应用程序也无法启动.
我在Delphi Quality Central中报告了它作为bug#67823:
在新版本的Bouncy Castle库中有一些变化PKCS10CertificationRequest.在以前的版本中,可以PublicKey使用getPublicKey()方法获得此类请求(请参阅旧文档).
现在这种方法消失了.如何通过此类请求获取PublicKey?有,getSubjectPublicKeyInfo().parsePublicKey()但它返回ASN1Primitive.
我从SPKAC看到NetscapeCertRequest我仍然可以通过调用直接读取PublicKey getPublicKey().
为了服务我的应用程序,我使用Apache或嵌入式Jetty.对于Jetty,我选择了一些我想要使用的密码套装并使用它进行设置setIncludeCipherSuites(String[] names).在Jetty文档(http://wiki.eclipse.org/Jetty/Howto/CipherSuites)上,我发现:请注意,您必须按优先顺序指定密码套件.
但https://www.ssllabs.com/ssltest/的 SSL 报告指出:
Cipher Suites (sorted by strength; the server has no preference)
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (0xc027) ECDH 571 bits (eq. 15360 bits RSA) FS 128
(3 other suites I use)
Run Code Online (Sandbox Code Playgroud)
对于Apache,我得到了:
Cipher Suites (SSL 3+ suites in server-preferred order, then SSL 2 suites where used)
Run Code Online (Sandbox Code Playgroud)
似乎对我设置项目的Jetty顺序setIncludeCipherSuites()没有任何意义.有没有办法设置首选密码套件的顺序?
我dbms_crypto.hash()在Oracle中使用函数时遇到问题.
我使用sqlplus作为"sys/passwd as sysdba"连接到数据库服务器,然后我安装了dbms_crypto包:
@/home/oracle/app/oracle/product/11.2.0/dbhome_1/rdbms/admin/dbmsobtk.sql
@/home/oracle/app/oracle/product/11.2.0/dbhome_1/rdbms/admin/prvtobtk.plb
Grant execute on dbms_crypto to public;
Grant execute on dbms_sqlhash to public;
Grant execute on dbms_obfuscation_toolkit to public;
Grant execute on dbms_obfuscation_toolkit_ffi to public;
Grant execute on dbms_crypto_ffi to public;
Run Code Online (Sandbox Code Playgroud)
一切看起来都不错,所以我测试了hash()功能:
SQL> select dbms_crypto.hash(utl_raw.cast_to_raw('zorg'), 3) from dual;
DBMS_CRYPTO.HASH(UTL_RAW.CAST_TO_RAW('ZORG'),3)
--------------------------------------------------------------------------------
60C440F9954CA4744204CDA9CC93567059C1EC82
Run Code Online (Sandbox Code Playgroud)
我作为普通用户断开并连接到该数据库,但后来我收到错误:
SQL> select dbms_crypto.hash(utl_raw.cast_to_raw('zorg'), 3) from dual;
select dbms_crypto.hash(utl_raw.cast_to_raw('zorg'), 3) from dual
*
ERROR at line 1:
ORA-06521: PL/SQL: Error mapping function
ORA-06512: at "MN.DBMS_CRYPTO_FFI", line 131
ORA-06512: …Run Code Online (Sandbox Code Playgroud) 我有MainMenu的表单,我想在用户从菜单中选择一个命令项时拦截.这适用于Delphi:
type
TForm1 = class(TForm)
... // Memo and MainMenu created
protected
procedure WMCommand(var Info: TWMCommand); message WM_COMMAND;
end;
procedure TForm1.WMCommand(var Info: TWMCommand);
begin
if (Info.ItemID < 10) then
Memo1.Lines.Add('WMCommand ' + IntToStr(Info.ItemID));
end;
Run Code Online (Sandbox Code Playgroud)
在MainMenu中我添加了一些项目,当我从菜单中选择这些项目时,我的Memo1充满了:
WMCommand 2
WMCommand 3
WMCommand 3
WMCommand 2
WMCommand 5
...
Run Code Online (Sandbox Code Playgroud)
我将此应用程序移植到FPC/Lazarus,但似乎没有调用WM_COMMAND处理程序!当我TForm1.WMCommand在Delphi中设置断点时,Delphi在主表单出现之前停止了很多次.拉扎鲁斯在这个断点上从未停止过.我认为拉撒路的WM_COMMAND已经打破了一些事情,但也许我不知道什么.任何的想法?
我在WinXP上使用Lazarus 0.9.28.2 beta和FPC 2.2.4.
编辑:
使用Winspector我检查了MainMenu生成WM_COMMAND:
WM_COMMAND
Code: 0
Control ID: 2
Control HWND: 0x00000000
Message Posted
Time: 09:37:14.0968
Run Code Online (Sandbox Code Playgroud)
我认为在WM_COMMAND消息方法处理中Lazarus/FPC中存在错误并且我报告了它:http://bugs.freepascal.org/view.php?id = 15521
我是mqseries的新手,我从IBM WebSphere MQ curses开始.有MQ_APPLE和MQ_ORANGE队列管理器的例子.使用MQ Explorer将消息发送到本地或远程队列没有问题,但我想从代码中发送此类消息:Python或Java.我试过Python pymqi库,代码如下:
import pymqi
qmgr = pymqi.QueueManager(None)
qmgr.connect('QM_APPLE')
putq = pymqi.Queue(qmgr, 'Q1')
putq.put('Hello from Python!')
Run Code Online (Sandbox Code Playgroud)
但我收到错误:
Traceback (most recent call last):
File "mq_put.py", line 4, in <module>
qmgr.connect('QM_APPLE')
File "c:\Python26\lib\site-packages\pymqi.py", line 758, in connect
raise MQMIError(rv[1], rv[2])
pymqi.MQMIError: MQI Error. Comp: 2, Reason 2540: FAILED: MQRC_UNKNOWN_CHANNEL_NAME
Run Code Online (Sandbox Code Playgroud)
有QM_APPLE队列管理器和Q1本地队列.
我的代码出了什么问题?
我的Python gnupg模块验证签名有问题.使用此模块,我可以加密和签名文件:
gpg.encrypt_file(stream, encrypt_for, sign=sign_by, passphrase=key_passwd, output=file_out)
Run Code Online (Sandbox Code Playgroud)
这样的加密文件可以通过命令行解密gpg,输出:
gpg: encrypted with 2048-bit ELG-E key, ID 518CD1AD, created 2011-04-14
"client"
gpg: Signature made 04/14/11 13:36:14 using DSA key ID C7C006DD
gpg: Good signature from "server"
Run Code Online (Sandbox Code Playgroud)
它也可以被Python gnupg模块解密,输出文件有解密内容,但我无法验证签名.解密和验证的代码:
def decrypt_file(file_in, file_out, key_passwd):
gpg = gnupg.GPG()
f = open(file_in, "rb")
data = f.read()
f.close()
gpg.decrypt(data, passphrase=key_passwd, output=file_out)
verified = gpg.verify(data)
if not verified:
raise ValueError("Signature could not be verified!")
Run Code Online (Sandbox Code Playgroud)
我得到的例外:
decrypting file...
Exception in thread Thread-12:
Traceback (most recent …Run Code Online (Sandbox Code Playgroud) cryptography ×3
delphi ×2
java ×2
python ×2
apache-fop ×1
bazaar ×1
bouncycastle ×1
database ×1
dbexpress ×1
delphi-2009 ×1
dvcs ×1
formatting ×1
fpc ×1
freepascal ×1
git ×1
gnupg ×1
html ×1
ibm-mq ×1
informix ×1
itext ×1
jetty ×1
lazarus ×1
locale ×1
mercurial ×1
message ×1
oracle ×1
pdf ×1
postgresql ×1
signature ×1
ssl ×1
svn ×1