I've an attachment with character "ò" in his name.
Using an agent, i print this name in Domino console.
On my test server, this name is correctly printed. On production server, "ò" is replaced by "?" character.
Is there any server parameter to set?
UPDATE
I'll post some code to better explain the situation.
I've a notes document, with an embedded attachment which name contains "ò" character
Field Name: $FILE
Data Type: Attached Object
Data Length: 66 bytes
Seq Num: 18
Dup Item ID: 0
Field Flags: ATTACH SIGN SEAL SUMMARY
Object Type: File
Object ID: 0022E992
Object Length: 567438
File Name: ALLEGATO A instanza fossò.pdf <-----------------------
Using an agent, i want to get this attachment to copy it into another document. To do this, i call it via Ajax through a POST, passing into parameter the attachment name
url = '/' + $F('DbJS') +'/myagent?openagent';
var pars = $H({
attachmentName: attachmentName
});
var ajReq = new Ajax.Request (
url,
{
method: "post",
parameters: pars.toQueryString(),
onComplete: doSomething
}
);
In the Java agent, first i get parameters from POST call
Vector attachmentNameVec = session.evaluate("@urldecode(\"UTF-8\";@left(@right(request_content; \"attachmentName=\");\"&\"))", doc);
String attachmentName= (String)attachmentNameVec.elementAt(0);
System.out.println("ATTACHMENT NAME:" + attachmentName);
At this point, i try to get the attachemnt.
On test server, print debug get:
ATTACHMENT NAME: ALLEGATO A instanza fossò.pdf
On production server get:
ATTACHMENT NAME: ALLEGATO A instanza foss?.pdf
and consequently
doc.getAttachment(attachmentName)
fail.
INFORMATION
Checking for Linux servers confuguration, i've noticed this (locale command):
Test server (right behaviour):
LANG=POSIX
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
Production server (wrong behaviuor):
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Could depends on this?
UPDATE 2
These are the results obtained following Richard suggestion:
=== Test server (right) ===
UNDECODED FILE NAME->File%201%20per%20Foss%C3%B2.txt.p7m
HEX REPRESENTATION: 46696C6525323031253230706572253230466F73732543332542322E7478742E70376D25374346696C6525323031253230706572253230466F73732543332542322E7478742E70376D
USING PLATFORM CHARSET->File 1 per Fossò.txt.p7m
=== Production server (wrong) ===
UNDECODED FILE NAME->File%201%20per%20Foss%C3%B2.txt.p7m
HEX REPRESENTATION: 46696C6525323031253230706572253230466F73732543332542322E7478742E70376D25374346696C6525323031253230706572253230466F73732543332542322E7478742E70376D
USING PLATFORM CHARSET->File 1 per Foss??.txt.p7m
As you can see, same HEX representation.
UPDATE 3
Richard, the informations requested
=== Test server (correct) ===
HEX for @urldecode using UTF-8
46696C6520312070657220466F7373F22E7478742E70376D7C
46696C6520312070657220466F7373F22E7478742E70376D
HEX for @urldecode using Platform
46696C6520312070657220466F7373C3B22E7478742E70376D7C
46696C6520312070657220466F7373C3B22E7478742E70376D
=== Production server (wrong) ===
HEX for @urldecode using UTF-8
46696C6520312070657220466F73733F2E7478742E70376D7C46696C6520312070
657220466F73733F2E7478742E70376D
HEX for @urldecode using Platform
46696C6520312070657220466F73733F3F2E7478742E70376D7C46696C6520312070
657220466F73733F3F2E7478742E70376D