问题标签 [cp1252]
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.
utf-8 - 哪些字符不直接从 Cp1252 映射到 UTF-8?
我读过几个stackoverflow的答案,当从Cp1252(又名Windows-1252;它们是一样的,不是吗?)转换为UTF-8时,某些字符不会直接映射(甚至“不可映射”),例如这里:https ://stackoverflow.com/a/23399926/2018047
有人可以对此有所了解吗?这是否意味着如果我将源代码从 cp1252 批量/批量转换为 utf-8,我会得到一些最终会变成垃圾的字符?
java - Can source code files with different encoding coexist in (the same) Java (project in Eclipse)?
I know Java uses UTF-16 internally and expects .properties
files to be in ISO-8859-1 by default.
I'm currently working on a project that was written in Eclipse, whose default encoding on our systems is cp-1252. I'm thinking utf-8 would be a much more sensible option, going forward.
However, given the scale of the project (it's split up into modules and uses libraries from all over the place), I can't just batch-convert all source code files in one go.
Will Java have a problem with some files in a project being in one encoding and some in another? (Clearly, having entire libraries written in encodings that are different from one another doesn't seem to be a problem - probably because they are all UTF-16 once compiled, anyway.)
Would Eclipse be able to handle that (i.e. different encodings per file) correctly?
windows - 在 ubuntu 中使用 PHP 或 bash shell 将 UTF-8 转换为 CP1252
我有一个关于在 Ubuntu 中使用 PHP 或 SHELL 将 UTF-8 转换为 CP1252 的问题。
背景:在 Ubuntu 中使用 PHP 或 SHELL 将 csv 文件从 UTF-8 转换为 CP1252,将文件从 Ubuntu 复制到 Windows,使用 nodepad++ 打开文件。
环境 :
- Ubuntu 10.04
- PHP 5.3
- 带有字母的文件 csv (œ, à, ç)
使用方法:
使用 PHP
iconv("UTF-8", "CP1252", "content of file")
或mb_convert_encoding("content of file", "UTF-8", "CP1252")
如果我检查生成的文件并file -i name_of_the_file
显示它:name_of_the_file: text/plain; charset=iso-8859-1
我将此转换后的文件复制到 windows 并用 notepad++ 打开,在右下角,我们可以看到编码是 ANSI
当我将编码从 ANSI 更改为 Windows- 1252,特殊字符显示良好。与 Shell
iconv -f UTF-8 -t CP1252" "content of file"
其余部分相同。
问题: 1. 为什么命令文件没有直接显示CP1252或ANSI,而是ISO-8895-1?2. 为什么我将编码从ANSI更改为Windows-1252时,特殊字符可以很好地显示。
先感谢您 !
mysql - MySQL Convert latin1 to utf8, cp1252 0x80-0x9F 错误
情况: latin1 数据库已转储为 latin1,通过 iconv 转换为 utf8 并恢复为 utf8_unicode_ci。
除了 cp1252 中的 0x80-0x9F 之外,似乎每次转换都很顺利。通过将这些字符转换为 unicode,我没有完全理解 mysql 的含义:mysql:
latin1 是默认字符集。MySQL 的 latin1 与 Windows cp1252 字符集相同。这意味着它与官方 ISO 8859-1 或 IANA(互联网数字分配机构)latin1 相同,除了 IANA latin1 将 0x80 和 0x9f 之间的代码点视为“未定义”,而 cp1252 以及 MySQL 的 latin1 分配字符对于那些职位。例如,0x80 是欧元符号。对于 cp1252 中的“未定义”条目,MySQL 将 0x81 转换为 Unicode 0x0081,0x8d 转换为 0x008d,0x8f 转换为 0x008f,0x90 转换为 0x0090,0x9d 转换为 0x009d。
例如,我的表格显示的是 0xC280 欧元而不是 0x80 欧元。所以我想我是通过误导转换
相反,我应该转换为
正如我的测试所示。因为第二条线做得对。
所以问题是,是否可以纠正那些坏字符,还是我必须转储整个数据库?
编辑:是否可以转储坏数据库并通过转换
然后再次插入数据库?iconv -c 会帮助我还是我会丢失信息?
EDIT2:似乎可以使用以下方法一一替换损坏的字符:
这将成功地用正确的 3byte utf8 替换错误的 2byte glibberish。当然,必须对每个 varchar/text 列以及 0x80-0x9F 范围内的每个损坏的字符都执行此操作,这很不方便。所以希望有人有更好的主意?
c++ - 从 cp-1252 字符绘制位图字体
我正在开发一个原型应用程序来生成提供 TTF 的位图字体。我正在使用我使用多年的 Qt 库。然而,我意识到我以前从未参与过“角色”问题。
我正在尝试的很简单:
我需要将 1252 代码页的每个字符都绘制到 PNG 文件中。我对与编解码器、文本解码器等相关的不同问题有点迷茫。
欢迎任何建议!
Z。
vim - vim 不显示 cp1252 字符
我在 Windows 下运行 gvim。我从网页粘贴了一些文本,但 vim 不显示连字符和智能引号。
当我检查 vim 使用的编码 (:set enc) 时,vim 报告它正在使用 cp1252。
当我检查光标 (ga) 下代码的十六进制值时,vim 会报告正确的 cp1252 代码值(0x96、0x93 和 0x94)。
然而它确实显示了智能单引号(0x91 和 0x92)
谁能解释发生了什么?
谢谢,史蒂夫
java - 尝试编译 Java 程序时用于编码 Cp1252 的不可映射字符
我尝试Hello World
用 Java 编写程序,但出现CP1252
错误:
这是错误:
简单的test.java
程序显然是正确的,我不知道问题是什么。
如何解决 CP1252 编码错误?
linux - 由于编码问题,CVS 存储库中的文件名出现乱码
CVS 存储库位于 linux 机器上,但签入的文件来自 Windows 客户端,其名称使用 æ/ø/å。我可能是第一个与该存储库交互的非 Windows 用户,而且我不知道有关编码的陷阱。发生的事情是我检查了 repo,然后标记了它。这更新了每个文件,并且带有特殊字符的文件被签入了其他文件。
我的假设是文件的编码是 cp1252,并且标记这些文件不会搞砸它们的原始编码。然而,CVS 似乎做了一些奇怪的事情。
现在的问题是 repo 包含 CVS 无法理解的无效编码的文件,所以我无法对它们做任何事情。有可能以某种方式解决这个问题吗?
java - java - 如何在java中将字节CP-1252转换为字节UTF-8
我已经尝试将字节转换cp1252
为字节,utf8
但一切都是徒劳的。
例如:我有byte[] 0xB5(cp1252)
并且我想转换为byte[] 0xC3, 0xA0(utf8)
.
我想要这样:μ --> à。
我的代码,但它不工作: