问题标签 [windows-1252]

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 回答
40021 浏览

java - Java 将 Windows-1252 转换为 UTF-8,有些字母是错误的

我从外部 Microsoft SQL 2008 数据库接收数据(我使用 MyBatis 进行查询)。数据编码为“Windows-1252”。

我试图重新编码为 UTF-8:

几乎整个字符串都被正确解码,但有些带重音符号的字母没有。

例如:

  1. 我收到了这个:Ã�vila
  2. 上面的代码使得:�?vila
  3. 我期望:Ávila
0 投票
1 回答
9099 浏览

c# - 将 html 响应内容的字符集设置为 1252

我正在尝试在 HTTP 响应中发送一些在 Windows 1252 中编码的数据(它是一个 CSV 文件),但在某个地方它被重新编码为 UTF-8(无 BOM)。如何确保数据保持正确的编码?

0 投票
2 回答
1055 浏览

ios - 如何使用 ios 将字符串编码为“windows-1252”?

以下字符串在 android 中运行良好,请给我建议在 ios 中对其进行编码。

Android 示例:String s = "hhh"; s.getBytes("Windows-1252");

0 投票
1 回答
836 浏览

java - 转换后的 word 文档(从 Windows-1252 到 UTF-8)不能正确显示字符

我有一个要转换为 UTF-8 的 Windows-1252 word 文档。我需要这样做才能将 doc 文件正确转换为 pdf。这就是我目前的做法:

但是,当我在 Word 中打开转换后的文件 ( temp.doc) 时,它无法正确显示某些字符。例如,Ü 将变为 ü。

我该如何解决这个问题?当我创建一个新的 BufferedReader(使用 UTF-8 编码)并读取temp时,字符会在我的 IDE 控制台中正确显示。

0 投票
2 回答
22443 浏览

php - 将 UTF-8 转换为 ANSI (windows-1252)

我正在尝试将希伯来语中的字符串保存到文件中,同时对文件进行 ANSI 编码。恐怕所有的尝试都失败了。

  1. PHP 文件本身是 UTF-8。

所以这是我正在尝试的代码:

由于某种原因,这将返回false 。

另一种尝试是:

这将返回一个空字符串。虽然这不起作用,但将输出字符集更改为 windows-1255 DID 工作。所以函数本身可以工作,但由于某种原因它没有转换为 1252。

我在之前和之后运行了这个函数iconv并打印了结果

mb_detect_encoding ($to_file);

iconv编码为 UTF-8 之前。编码
后为 ASCII(??)iconv

我非常感谢您提供的任何帮助

0 投票
2 回答
17371 浏览

google-chrome - Chrome 表单 POST 显示“(无法解码值)”,数据库将其存储为问号

我有一个测试站点和测试数据库都设置为windows-1252. 当我在 Chrome 中输入Alt+时234,它会将这个符号放在字段中:Ω. 当我提交表单时,它会发布并存储它,因为Ω 我假设这是浏览器说“嘿,这不在指定的字符集中,但我知道一个 html 等价物,所以我会发布它”。美好的。保存后符号正确显示,我可以保存,保存,保存,它总是显示正常。但是如果我用Alt+尝试同样的事情,230浏览器不会提交它的 html 实体值µ。相反,在 Chrome DevTool 窗口中查看 POST 时,我看到“(无法解码值)”。它最终作为问号存储在数据库中。

为什么它对待Alt+ 234( ) 与+ ( Ω) 不同?Alt230µ

我知道我应该切换到 UTF8,但我仍然想知道为什么它会以这种方式运行。谢谢!

0 投票
1 回答
2062 浏览

oracle - 从单字符代码中获取非 ASCII 字符

我有几个 NLS 字符编码不同的数据库。一种使用AL32UTF8(UTF-8),另一种使用WE8MSWIN1252(Windows 1252)。是的,这很糟糕,我会推动把事情理顺,这样它们就一样了。同时,我需要编写一些包含非 ASCII 字符的 SQL。例如,我需要使用 á,它是U+00E1Unicode。在 UTF-8 中,它用十六进制值表示0xC3A1,而在 Windows 1252 中,它用十六进制值表示0x00E1。(换句话说,这些是字节值。)

所以这给了我想要的 UTF-8 数据库:

这给了我我想要的 Windows 1252 数据库:

不过,我似乎无法找到一种方法让 Oracle 只接受一个并将其转换为正确的编码。我真的不在乎我最终使用哪种表示。我只想使用一个十六进制值,因为需要在两个数据库上运行相同的脚本。我怎样才能做到这一点?

使用 Oracle 11g。(不幸的是,一个是 11.1,另一个是 11.2。)

0 投票
1 回答
234 浏览

java - Java Windows-1252 字符错误

我正在编写 RSA 算法来加密要发送到 VisualBasic Web 服务的字符串。不幸的是,VB RSAcryptoserviceprovider 总是给我一个例外“坏数据”,我这个问题是编码。VisualBasic 代码接收字符串并使用 windows-1252 编码将其转换为字节数组,然后将其解密。

在我的 Java 代码中,我正在使用它进行加密:

当我“system.out.print”加密字符串时,它给了我奇怪的字符,如�。这是否意味着我的 windows-1252 编码是错误的,对吗?我在这里做错了什么?请注意,我只能更改 Java 代码而不是 VB。

谢谢!

0 投票
2 回答
2540 浏览

c# - 将 Windows-1252 字符串与 UTF-8 字符串进行比较

我的目标是将 .NET 字符串 (Unicode) 转换为 Windows-1252,并在必要时将原始 UTF-8 字符串存储在 Base64 实体中。

例如,转换为 1252 的字符串“DJ Doena”仍然是“DJ Doena”。

但是,如果您将树(木)的日语汉字转换为 1251,您最终会得到一个问号。

这些是我的测试字符串:

这就是我首先转换字符串的方式:

问题是,虽然调试字符串比较声称两者确实是相同的,所以一个简单的==or.Equals()是不够的。

这就是我尝试找出是否需要 base64 并生成它的方法:

第一个字符串doena完全相同,不会产生 base64 结果

结果是

但是第二个字符串umlauts在 UTF-8 中的字节数已经是 1252 中的两倍,因此即使看起来没有必要,它也会生成一个 Base64 字符串:

第三个做了它应该做的事情(不再是“木”而是一个“?”,因此需要base64):

有什么线索可以增强我的 Base64 吸气剂 a) 性能 b) 以获得更好的结果吗?

先感谢您。:-)

0 投票
1 回答
358 浏览

utf-8 - 对 windows-1252 和 UTF-8 编码之间的转换感到困惑

我有一个旧数据库,声称将排序规则设置为 windows-1252,并将文本字段的内容存储为

I’d

当它显示在旧版 Web 应用程序中时,它会显示I’d在浏览器中。浏览器报告页面编码为 UTF-8。我无法弄清楚这种转换是如何完成的(几乎可以肯定它不是通过即时搜索和替换)。这对我来说是个问题,因为我正在将文本字段(以及许多其他类似的字段)从旧数据库中提取到新的 UTF-8 数据库中。一个新的 Web 应用程序将新数据库中的文本显示为

I’d

我希望它显示为I’d. 我无法弄清楚遗留应用程序是如何实现这一点的(Ruby 中的一些摆弄并没有向我展示一种影响将字符串转换I’dI’d.

我在这里某个地方打了个结。