问题标签 [shift-jis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3127 浏览

android - 在 Eclipse 中使用 Shift-jis

我想用 Shift-JIS 在 eclipse 中使用日语。但我做不到。请帮我。谢谢

0 投票
1 回答
1958 浏览

android - 在android中解码shift-jis

我如何在 android 中解码 shift-JIS(将其转换为字符串)?
我试过这样的东西,但它不起作用

编码:

解码:

我的设备中保存了一个日语联系人,当我恢复联系人时,我正在处理备份/恢复应用程序,它显示未定义的字符。
所以我认为它作为 Shift-JIS 保存在数据库中,我想对其进行解码

0 投票
1 回答
5494 浏览

php - 如何在 Shift_JIS 字符集中创建 CSV 文档?

我可以通过添加 BOM 手动强制将 CSV 文件检测为 UTF-8,如下所示:

我可以做类似的事情来强制将 CSV 文件检测为 Shift_JIS 吗?

0 投票
1 回答
827 浏览

c# - Unicode 上划线 (U+203E) 到 Shift-JIS 的意外转换

对于客户项目,查询数据库并将结果写入文件。该文件需要在Shift JIS中,因为它稍后用作另一个旧系统的输入。维基百科文章指出:

单字节字符 0x00 到 0x7F 匹配 ASCII 编码,除了 0x5C 处的日元符号 (U+00A5) 和 0x7E 处的上划线 (U+203E) 分别代替 ASCII 字符集的反斜杠和波浪号。

在一些测试中,我验证了日元符号 (U+00A5) 正确变为 0x5C 时,上划线 (U+203E) 变为 0x3F(问号)而不是预期的 0x7E。

当我使用 StreamWriter 对文件进行正常输出时,下面是重现的最少代码:

这种行为正确吗?我想我可以将 EncoderFallback 子类化,但这对于我从一开始就期望工作的东西来说似乎要工作得多。

0 投票
2 回答
6338 浏览

notepad++ - notepad++ 可以自动检测 Shift_JIS 编码吗

我经常使用日语注释源,因此每次打开源文件时,我都必须执行“编码/字符集/ShiftJIS”。我们可以让 Notepad++ 自动检测它吗?我已经尝试了很多设置/首选项中的选项......但没有发现任何有用的东西,我们可以通过插件实现它还是使用一些额外的源重建 NPP?

0 投票
1 回答
920 浏览

php - 我想更正 SHIFT-JIS 和 UTF-8 外国字体的 PHPLIST 上的 PHP 编码问题

PHPLIST的服务器上有编码日文字体的卡。

我安装了外语包,但仍然无法编码SHIFT-JISUTF-8.

如何使用编码定义行更正文件中的 PHP 编码以更正 PHP 制作的每个页面中的编码?

我认为问题在于程序的脚本没有为每个页面定义编码,因为程序版本的编码更正

0 投票
1 回答
698 浏览

javascript - JS 反斜杠转义字符被 Shift JIS 转换为非转义字符

我目前正在开发一个有两个版本的网站,一个是 utf-8 的美国网站,一个是 Shift JIS 的日本网站。该站点是使用 Perl 生成的。

问题:

我正在提供类似于以下内容的 Javascript。

哪个,在日本网站上,返回一个错误“Uncaught SyntaxError:Unexpected identifier”。这是因为反斜杠被转换为一个加长的反斜杠字符\,它不被视为转义字符,因此会中断行。

我似乎找不到其他人遇到这个问题,这让我怀疑我们的网站根本没有问题。有没有人遇到过类似的情况并找到了解决办法?

非常感谢

0 投票
1 回答
1829 浏览

perl - Perl 文件处理 SHIFT_JIS 编码的日语文件

我有一组来自 Windows 的 SHIFT_JIS(日语)编码的 csv 文件,我试图在运行 Perl v5.10.1 的 Linux 服务器上使用正则表达式进行字符串替换。

这是我的要求:我希望 Perl 脚本的正则表达式是人类可读的(至少对日本人来说)即。像这样:s/北/0/g;取而代之的是一些十六进制代码 s/\x{4eba}/0/g;

现在,我正在 Windows 上的 Notepad++ 中编辑 Perl 脚本,并将我需要从 csv 数据文件中搜索的字符串粘贴到 Perl 脚本中。

我在下面有以下工作测试脚本:

这将成功地将 csv 文件中的 10:00 替换为 9:00,但问题是我无法用 0 替换北(即北),除非顶部还包含使用 utf8。

问题:

1)在开放文档http://perldoc.perl.org/functions/open.html中,我没有看到使用 utf8 作为要求,除非它是隐式的?

a) 如果我只使用 utf8,那么循环中的第一个打印语句会将垃圾字符打印到我的 xterm 屏幕上。

b) 如果我只用 :encoding(shift_jis) 调用 open,那么循环中的第一个 print 语句会将日语字符打印到我的 xterm 屏幕,但不会发生替换。没有未指定使用 utf8 的警告。

c) 如果我同时使用了 a) 和 b),那么这个例子可以工作。

在这个 Perl 脚本中,“使用 utf8”如何修改使用 :enoding(shift_jis) 调用 open 的行为?

2)我还尝试在没有指定任何编码的情况下打开文件,Perl 不会将文件字符串视为原始字节,并且如果我粘贴在脚本中的字符串采用相同的编码,则能够以这种方式执行正则表达式匹配作为原始数据文件中的文本?我能够以这种方式更早地进行文件名替换,而无需指定任何编码(请参阅我的相关帖子:Perl Japanese to English filename replacement)。

谢谢。

更新 1

在 Perl 中测试一个简单的本地化示例以用日语替换文件名和文件文本

在 Windows XP 中,从 .csv 数据文件中复制南字符并复制到剪贴板,然后将其用作文件名(即南.txt)和文件内容(南)。在 Notepad++ 中,在 UTF-8 编码下读取文件显示 x93xEC,在 SHIFT_JIS 下读取显示南。

脚本:

使用以下 Perl 脚本 south.pl,它将在装有 Perl 5.10 的 Linux 服务器上运行

结果:

(BAD) 取消注释选项 1 和 3,(注释选项 2 和 4) 设置:Readdir 编码,SHIFT_JIS;文件打开编码 SHIFT_JIS 结果:文件名替换失败.. 错误:utf8 "\x93" 未映射到 .//south.pl 第 68 行的 Unicode。\x93

(坏)取消注释选项 2 和 4(注释选项 1 和 3)设置:Readdir 编码,utf8;文件打开编码 utf8 结果:文件名替换成功,生成了 south.txt 但是 south1.txt 文件内容替换失败,它有内容 \x93 ()。错误:“\x{fffd}”未映射到 .//south.pl 第 25 行的 shiftjis。... -Ao?= (Bx{fffd}.txt

(GOOD)取消注释选项 2 和 3,(注释选项 1 和 4)设置:Readdir 编码,utf8;文件打开编码 SHIFT_JIS 结果:文件名替换成功,South.txt 生成 South1.txt 文件内容替换成功,内容为南。

结论:

我必须为这个例子使用不同的编码方案才能正常工作。Readdir utf8,文件处理 SHIFT_JIS,因为 csv 文件的内容是 SHIFT_JIS 编码的。

0 投票
1 回答
911 浏览

qt - SHIFT-JIS ascii 支持

我想澄清一下 SHIFT-JIS 字符集。ASCII 是类似于 UTF-8 的 SHIFT-JIS 字符集的子集。如果文件混合了 SHIFT-JIS 和 ASCII。我们如何使用 QT 编解码器读取相同的内容?

0 投票
0 回答
164 浏览

c# - 将字节替换为字符不起作用

我正在尝试使用流读取器从二进制文件中读取一些文本,该文件由指向文本字符串的指针组成,因此文本是日文的,并且在其中一些日文字符周围有一些标签(表示顶部平假名/片假名汉字,这不重要),这个看起来像:太一ÿBたいちÿ(91 BE 88 EA FF 42 82 BD 82 A2 82 BF FF 00)我的软件可以读取到流阅读器遇到0x00的地方,但是“FF 00”部分只是标记的结尾,而不是字符串,我正在尝试将“FF 00”字节(0x00FF)转换为一个单词,这样它就不能再停止流式传输,这就是我的意思尝试但它不起作用:(没有错误或异常,它只是没有)

我在某些地方错了吗?