问题标签 [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.
java - Java 将 Windows-1252 转换为 UTF-8,有些字母是错误的
我从外部 Microsoft SQL 2008 数据库接收数据(我使用 MyBatis 进行查询)。数据编码为“Windows-1252”。
我试图重新编码为 UTF-8:
几乎整个字符串都被正确解码,但有些带重音符号的字母没有。
例如:
- 我收到了这个:
�vila
- 上面的代码使得:
�?vila
- 我期望:
Ávila
c# - 将 html 响应内容的字符集设置为 1252
我正在尝试在 HTTP 响应中发送一些在 Windows 1252 中编码的数据(它是一个 CSV 文件),但在某个地方它被重新编码为 UTF-8(无 BOM)。如何确保数据保持正确的编码?
ios - 如何使用 ios 将字符串编码为“windows-1252”?
以下字符串在 android 中运行良好,请给我建议在 ios 中对其进行编码。
Android 示例:String s = "hhh"; s.getBytes("Windows-1252");
java - 转换后的 word 文档(从 Windows-1252 到 UTF-8)不能正确显示字符
我有一个要转换为 UTF-8 的 Windows-1252 word 文档。我需要这样做才能将 doc 文件正确转换为 pdf。这就是我目前的做法:
但是,当我在 Word 中打开转换后的文件 ( temp.doc
) 时,它无法正确显示某些字符。例如,Ü 将变为 ü。
我该如何解决这个问题?当我创建一个新的 BufferedReader(使用 UTF-8 编码)并读取temp
时,字符会在我的 IDE 控制台中正确显示。
php - 将 UTF-8 转换为 ANSI (windows-1252)
我正在尝试将希伯来语中的字符串保存到文件中,同时对文件进行 ANSI 编码。恐怕所有的尝试都失败了。
- PHP 文件本身是 UTF-8。
所以这是我正在尝试的代码:
由于某种原因,这将返回false 。
另一种尝试是:
这将返回一个空字符串。虽然这不起作用,但将输出字符集更改为 windows-1255 DID 工作。所以函数本身可以工作,但由于某种原因它没有转换为 1252。
我在之前和之后运行了这个函数iconv
并打印了结果
mb_detect_encoding ($to_file);
在iconv
编码为 UTF-8 之前。编码
后为 ASCII(??)iconv
我非常感谢您提供的任何帮助
google-chrome - Chrome 表单 POST 显示“(无法解码值)”,数据库将其存储为问号
我有一个测试站点和测试数据库都设置为windows-1252
. 当我在 Chrome 中输入Alt+时234,它会将这个符号放在字段中:Ω
. 当我提交表单时,它会发布并存储它,因为Ω
我假设这是浏览器说“嘿,这不在指定的字符集中,但我知道一个 html 等价物,所以我会发布它”。美好的。保存后符号正确显示,我可以保存,保存,保存,它总是显示正常。但是如果我用Alt+尝试同样的事情,230浏览器不会提交它的 html 实体值µ
。相反,在 Chrome DevTool 窗口中查看 POST 时,我看到“(无法解码值)”。它最终作为问号存储在数据库中。
为什么它对待Alt+ 234( ) 与+ ( Ω
) 不同?Alt230µ
我知道我应该切换到 UTF8,但我仍然想知道为什么它会以这种方式运行。谢谢!
oracle - 从单字符代码中获取非 ASCII 字符
我有几个 NLS 字符编码不同的数据库。一种使用AL32UTF8
(UTF-8),另一种使用WE8MSWIN1252
(Windows 1252)。是的,这很糟糕,我会推动把事情理顺,这样它们就一样了。同时,我需要编写一些包含非 ASCII 字符的 SQL。例如,我需要使用 á,它是U+00E1
Unicode。在 UTF-8 中,它用十六进制值表示0xC3A1
,而在 Windows 1252 中,它用十六进制值表示0x00E1
。(换句话说,这些是字节值。)
所以这给了我想要的 UTF-8 数据库:
这给了我我想要的 Windows 1252 数据库:
不过,我似乎无法找到一种方法让 Oracle 只接受一个并将其转换为正确的编码。我真的不在乎我最终使用哪种表示。我只想使用一个十六进制值,因为需要在两个数据库上运行相同的脚本。我怎样才能做到这一点?
使用 Oracle 11g。(不幸的是,一个是 11.1,另一个是 11.2。)
java - Java Windows-1252 字符错误
我正在编写 RSA 算法来加密要发送到 VisualBasic Web 服务的字符串。不幸的是,VB RSAcryptoserviceprovider 总是给我一个例外“坏数据”,我这个问题是编码。VisualBasic 代码接收字符串并使用 windows-1252 编码将其转换为字节数组,然后将其解密。
在我的 Java 代码中,我正在使用它进行加密:
当我“system.out.print”加密字符串时,它给了我奇怪的字符,如�。这是否意味着我的 windows-1252 编码是错误的,对吗?我在这里做错了什么?请注意,我只能更改 Java 代码而不是 VB。
谢谢!
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) 以获得更好的结果吗?
先感谢您。:-)
utf-8 - 对 windows-1252 和 UTF-8 编码之间的转换感到困惑
我有一个旧数据库,声称将排序规则设置为 windows-1252,并将文本字段的内容存储为
I’d
当它显示在旧版 Web 应用程序中时,它会显示I’d
在浏览器中。浏览器报告页面编码为 UTF-8。我无法弄清楚这种转换是如何完成的(几乎可以肯定它不是通过即时搜索和替换)。这对我来说是个问题,因为我正在将文本字段(以及许多其他类似的字段)从旧数据库中提取到新的 UTF-8 数据库中。一个新的 Web 应用程序将新数据库中的文本显示为
I’d
我希望它显示为I’d
. 我无法弄清楚遗留应用程序是如何实现这一点的(Ruby 中的一些摆弄并没有向我展示一种影响将字符串转换I’d
为I’d
.
我在这里某个地方打了个结。