问题标签 [codepages]

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 投票
12 回答
201467 浏览

encoding - 如何更正文件的字符编码?

我有一个 ANSI 编码的文本文件,它不应该被编码为 ANSI,因为有 ANSI 不支持的重音字符。我宁愿使用 UTF-8。

数据可以正确解码还是在转码中丢失?

我可以使用哪些工具?

这是我所拥有的示例:

我可以从上下文中看出(café应该是cafe)这些应该是这两个字符:

0 投票
4 回答
140771 浏览

c++ - 你如何正确使用 WideCharToMultiByte

我已阅读有关WideCharToMultiByte的文档,但我坚持使用此参数:

我不太确定如何正确初始化变量并将其输入函数

0 投票
3 回答
618 浏览

encoding - 代码页和编码

在有人建议我对此进行谷歌搜索之前,我有。我只需要更清楚地了解哪些代码页和编码。

如果我使用 UTF8 编码,并使用意大利代码页和法语代码页,这是否意味着即使字节没有改变也会得到不同的字符?

0 投票
3 回答
482 浏览

php - PHP、MSSQL2005 和代码页

我有一个访问 MSSQL2005 数据库的 php 脚本,从中读取一些数据并将结果通过邮件发送。

在某些列名和字段本身中都有特殊字符。

当我通过浏览器(网络服务器 iis)访问脚本时,查询会正确执行,并且邮件的内容(对于我的观众)正确编码。但是,当我从控制台执行 php 时,查询失败(由于列名中的特殊字符)。如果我将查询中的特殊字符替换为对 chr() 的调用和 latin-1 中的字符代码,则查询将正确执行,但结果也以 latin-1 编码,因此无法在邮件中正确显示。为什么 PHP/MSSQL 驱动程序/……在这两种情况下使用不同的编码?有办法解决吗?

如果您想知道,我需要控制台,因为我想使用 SQLAgent(或 taskmanager 或其他)安排脚本。

0 投票
5 回答
1423 浏览

unicode - 如何确定我正在查看的代码页?

我有一个设备,里面有一些关于如何发送文本的文档。它使用 0x00-0x7F 发送“特殊”字符,如重音字符、欧元符号……

我猜他们复制了现有的代码页并进行了一些更改,但我不知道如何找出最接近我文档中的代码页的代码页。

理论上,这应该很容易做到。例如,他们将 Á 映射到 0x41,所以如果我能找到某种方法来遍历所有代码页并找到在那个位置有这个字符的那些,那将是小菜一碟。

但是,我在互联网上只能找到指向代码页转储的链接,就像我正在查看的那样,或者使用启发式方法读取文本并猜测最可能的代码页的软件。肯定有人可以查看一个正在查看的代码页吗?

0 投票
2 回答
4722 浏览

unicode - 将代码源从代码页转换为 UTF-8 的工具?

我正在开发一个开源项目。原始项目包含俄语注释并使用代码页 1251。我正在使用代码页 1252 并且俄语注释在 Visual Studio Express 2008 中无法正确显示,不好但无论如何我看不懂俄语。有人使用代码页 950(繁体中文)试图编译项目但无法编译,因为代码页!现在真的很烦。

我认为使用unicode(更确切地说是带签名的 UTF-8)作为代码源的文件格式是可行的方法。

问题:如何轻松转换整个源代码?

我已经知道了:

  • 让 Visual Studio 将源代码保存为 UTF-8。但是:我的计算机正在使用代码页 1252,我发现无法告诉 VS 原始代码源正在使用代码页 1251,因此转换将不正确。

    编辑:正如“LicenseQ”所指出的,有一种方法可以在 VS 中使用另一种编码打开单个文件:单击打开对话框中打开按钮附近的箭头,选择“打开方式”,然后选择“代码编辑器(带编码)”。

  • 当然,我可以在转换时更改计算机的代码页。但这是 Windows 中的全局设置,您需要重新启动计算机,以便我寻找更友好的解决方案。

  • 我找到了一个名为CodePageConverter的工具,它完全可以满足我的需要,但不能作为批处理作业。

有谁知道另一种工具(命令行工具将是完美的)从代码页转换为 UTF-8?

编辑:正如 tkotitan 所建议的那样,iconv似乎是我正在寻找的解决方案。有一个windows 版本的 iconv。现在我知道了这个工具的名称,我可以在 stackoverflow 上找到处理类似问题的帖子。

0 投票
2 回答
4113 浏览

delphi - 什么是代码页 0?

我正在使用德尔福功能

我在 COM 函数返回的字符串上调用它(Acrobat Annotation getContents - 请参阅我的其他帖子),它返回 0。

什么是0?安西?

0 投票
7 回答
17212 浏览

java - 在 Java 中从 Codepage 1252 (Windows) 转换为 Java

我认为在 Windows 1252 代码页中有一些 Java 字符串(最初来自 Excel 表)。我希望它们转换为 Java 自己的 unicode 格式。Excel 文件是使用 JXL 包解析的,以防万一。

我要澄清一下:显然,从 Excel 文件中获取的字符串看起来很像它已经是某种 unicode。

这是内容似乎包含 unicode 的地方,åäö 是多字节字符,而 ASCII 是普通的单字节字符。它绝对不是Latin1。如果我用 printLn 打印“内容”字符串并将其重定向到 hello.txt 文件,我发现字母“ö”用两个字节表示,十六进制的 C3 B6。(十进制的 195 和 179。)

[编辑]

我已经尝试了下面给出的不同代码页等的建议,尝试从 Cp1252 等转换。有某种转换,因为我会得到一些其他类型的乱码。作为参考,我总是在源代码中打印一个手工编码的“ö”字符串,以验证我的终端或字体或任何东西没有问题。手动输入的“ö”始终有效。

[编辑]

我还按照评论中的建议尝试了 WorkBookSettings,但是我查看了 JXL 的代码,并且 characterSet 似乎被解析代码忽略了。我认为解析代码只是查看 XLS 文件应该使用的任何编码。

0 投票
2 回答
1566 浏览

vb.net - 代码页值

除了 1252 之外,vb.net 中的 getencoding() 还可以使用哪些其他代码页值?

System.Text.Encoding.GetEncoding(1252).Getstring()

0 投票
10 回答
389529 浏览

character-encoding - 什么是 ANSI 格式?

什么是ANSI编码格式?它是系统默认格式吗?它与 ASCII 有什么不同?