Pok*_*Joe 3 windows encoding localization batch-file cjk
我正在日语环境中开发日语版的 Windows 7,不幸的是,我需要使用的许多文件和文件夹名称都使用日语字符。
\n\n例如,我在 .bat 文件中有这一行:
\n\nxcopy * "C:\\blahblah\\\xe5\x8b\x95\xe4\xbd\x9c\xe7\xa2\xba\xe8\xaa\x8d\\" /E /R /K /Y /I \n
Run Code Online (Sandbox Code Playgroud)\n\n但是,在 C:\\blahblah\\ 文件夹内,这是我得到的文件夹的名称:\n C:\\blahblah\\\xe8\x9c\x8d\xe7\xa9\x82\xef\xbd\xbd \xe6\x87\x83\xef\xbd\xa2\xef\xbd\xba\xe9\x9a\xb1\xe6\xa7\x8b
\n\n问题是 \xe5\x8b\x95\xe4\xbd\x9c\xe7\xa2\xba\xe8\xaa\x8d 已转换为 \xe8\x9c\x8d\xe7\xa9\x82\xef\xbd\xbd \xe6\x87\x83\xef\xbd\xa2\xef\xbd\xba\xe9\x9a\xb1\xe6\xa7\x8b。后者虽然使用亚洲字符(和标点符号),但却是毫无意义的胡言乱语,甚至并非全部都是日语字符。
\n\n我研究了这个问题,发现许多使用 Windows 英语本地化版本的人都遇到一个问题,即他们看到的是问号而不是日语字符。这不是我使用 Windows 日语本地化时发生的情况 - 如果我启动 cmd 并导航到我想要从中复制、运行dir
并获取此输出的源文件夹的父级:
2014/02/07 16:36 <DIR> \xe8\x9c\x8d\xe7\xa9\x82\xef\xbd\xbd\xe6\x87\x83\xef\xbd\xa2\xef\xbd\xba\xe9\x9a\xb1\xe6\xa7\x8b\n
Run Code Online (Sandbox Code Playgroud)\n\n这是胡言乱语,不是真正的日语。
\n\n那么我需要做什么才能使批处理文件中的 xcopy 命令起作用?
\n小智 5
我想您已经找到了解决方法,但让我回答一下。
\n\n如果您有一个UTF-8
字符串的字节序列\xe5\x8b\x95\xe4\xbd\x9c\xe7\xa2\xba\xe8\xaa\x8d
并将其解析为CP932
(又名Shift-JIS
)字节序列,您将得到\xe8\x9c\x8d\xe7\xa9\x82\xef\xbd\xbd\xe6\x87\x83\xef\xbd\xa2\xef\xbd\xba\xe9\x9a\xb1\xe6\xa7\x8b
或类似的字符串。
日语版本的 Windows 已使用CP932
作为默认编码,因此我们必须在CP932
.
就您而言,您必须已将.bat
文件写入UTF-8
. 你应该把它写在CP932
.
归档时间: |
|
查看次数: |
8129 次 |
最近记录: |