|
Post by mycwcgr on Jan 20, 2004 8:07:41 GMT -5
I make a backup program with vclzip 2.23
A japanese user tell me that the backup operation will not success when backup some Japanese folder.
Does the vclzip 2.23 support international language?
|
|
|
Post by Kevin on Jan 20, 2004 11:41:03 GMT -5
It might help if you set OEMConvert := False. I'm not positive that will work but it might. Let me know either way.
Kevin
|
|
|
Post by mycwcgr on Jan 27, 2004 7:59:04 GMT -5
The code of Japanese is Shift-JIS (Japanese Industrial Standards), do you think how to change the program to backup Japanese folder? thanks!
|
|
|
Post by mycwcgr on Jan 27, 2004 10:31:49 GMT -5
I have set OEMConvert := False but the backup file is incorrect.
|
|
|
Post by mycwcgr on Jan 27, 2004 21:29:21 GMT -5
I think that some sentences such as pos, uppercase, comparetext might be changed to ansipos, ansiuppercase,ansicomparetext .
Am I correct? thanks for your help
|
|
|
Post by Kevin on Jan 27, 2004 22:55:21 GMT -5
Can you tell me if PKZip or WinZip will correctly zip those directories? Right now, VCLZip does not support multibyte or unicode filenames.
|
|
|
Post by mycwcgr on Jan 27, 2004 23:08:48 GMT -5
WinZip 8.1 can correctly zip those directories.
VCLZip does not support multibyte filenames and path.
|
|
|
Post by mycwcgr on Jan 27, 2004 23:11:24 GMT -5
The following is from Winzip website, and my user have test that winzip 8.1 support japanese filename and path
Other Changes in WinZip 8.1 WinZip can now open "skin" files for Microsoft Media Player 7 (.WMZ), Yahoo! Player (.YFS), and WinAmp (.WSZ). Once open, you can use most of the operations available with any Zip file. WinZip can now display Zip file comments of up to 64,000 characters if your system provides the necessary "rich edit" control. Support for filenames containing multi-byte character set (MBCS) characters used with Asian languages such as Japanese, Chinese, and Korean has been improved.
|
|
|
Post by mycwcgr on Jan 28, 2004 0:21:52 GMT -5
The encode of japanese is Shift-JIS (Japanese Industrial Standards), it is two-byte encode. the second byte of some japanese characters is "5c" , but the encode of '\' character is also "5c" . so I think that pos('\',filename_or_path).. might be induce error
|
|
|
Post by mycwcgr on Jan 28, 2004 0:30:26 GMT -5
The following is about shifted JIS code from a website
-------------------------------------------------------------------------------- About character transformation --------------------------------------------------------------------------------
If the character "display" is described and outputted into a CGI script by the shifted JIS code, character transformation will be carried out with "•Ž WO." Also becoming the feeling whose fool [ a computer ] is made somehow from the character "•Ž" ‚½‚è. Why is character transformation carried out in this way? This corner considers such character transformation.
Let's understand that the following codes exist greatly as basic knowledge of a Japanese character code first. Character code Summary JIS code The character set defined by X0208 of a JIS standard. A Japanese character is expressed in 7-bit code of two characters. The typical character code used by mail. EUC code The character code used in the Japanese UNIX environment. It is expressed in 8-bit code. Shifted JIS code In code which Microsoft determined, it is mainly used by Windows or Mac based on a personal computer. A 8-bit domain is also used. Unicode All characters tend to be expressed with 2 bytes and it is going to express the character in the world.
At KENT WEB, it is a CGI script. "Shifted JIS code" It has come out and described. If it is the CGI script which convenience is [ to write in EUC code ] better, and is used only for itself when character transformation, regular expression processing, etc. are taken into consideration in fact, it does not waver but the EUC code will describe.
The character code "a display" of the Shift JIS described previously here is as follows. Character Table Shimesu Shifted JIS code 95 5C 8E A6
That it is inconvenient here occurs. In fact, a problem is in 2nd byte "5C" of a "table." That is, "5C" is because "\" of a meta-character (special character) is expressed. If "\" is in a character sequence, it will only be removed as an escape sign. Therefore, when CGI outputs the character "display", it will develop as follows.
(1) 95 5C 8E A6 .... It is (2) at the description time. 95 8E A6 .... (3) which interprets "5C" as "\" and removes it (it will interpret if the following 8E is escaped) 95 8E A6 .... Deployment result
Thus, a deployment result will be outputted in following codes. Character •Ž WO (Half size) Shifted JIS code 95 8E A6
There are the following methods in preventing such character transformation.
An escape sign "\" is behind attached to the character containing a meta-character as shown in a "table."
Example : print" table \Ž¦";
Reason : In the character code "table + \" 95 It is set to 5C 5C, and is a center. 5C is the next. Escape deployment of the 5C is carried out, and it is as a result. 95 It is outputted as 5C.
A single quotation mark mark "'" is used without surrounding by the double quotation mark mark ""."
Example : print' display';
Reason : It is a character code in order not to carry out "deployment"-on grammar processing within a single quotation mark "'". 95 5C is interpreted as it is and outputted.
The character in which the code of "5C" is used for the 2nd byte as shown in a "table" is as follows. * In case these characters are used, it is completely the same as the coping-with method for a "table." - SO „\ ? Rumor Nautical mile ‹\ Kei Style Silkworm 10 Shin ‘\ ’\ “\ Ability Table –\ beforehand ˜\ ™\ š\ ›\ œ\ \ ž\ Ÿ\ à\ Hamper â\ ã\ ä\ å\ æ\ ç\ è\ é\ ê\ ? ?
[Cautions] However, ‚É which does not serve as character transformation in using for an end in a "double quotation mark" or a "single quotation mark" in the state where this character transformation character (character by which 5C comes to the 2nd byte) is not escaped Since Perl becomes "a grammar error", especially cautions are required. The solution in this case is the same as the above-shown, and adds an escape sign "\" immediately after.
Bad example 1 : $title =" plan table"; -> server error (it becomes a grammar error) Bad example 2 : $title =' plan table'; -> server error (it becomes a grammar error)
Good example 1 : $title =" plan table \"; Good example 2 : $title =' plan table \';
--------------------------------------------------------------------------------
|
|
|
Post by mycwcgr on Jan 28, 2004 7:40:10 GMT -5
I think that "function RightStr" in your surce program might not support multi-byte character sets (MBCS)
function RightStr(str: string; count: Integer): string; begin Result := Copy(str, kpmax(1, Length(str) - (count - 1)), count); end;
I think that " if Pathname[Length(Pathname)] = '\'... " might to be changed " if AnsiLastChar(Pathname) = '\'... "
|
|
|
Post by Kevin on Jan 28, 2004 7:53:21 GMT -5
Thanks for all of the information. I appreciate it.
I will look at possibly including multibyte support in a future version, but I can't make any promises at this point.
|
|