问题标签 [encoding]

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 投票
6 回答
45848 浏览

c# - 使用 ISO-8859-1 编码的 XmlTextWriter 编写 XML 文件

我在使用 C# 将挪威语字符写入 XML 文件时遇到问题。我有一个字符串变量,其中包含一些挪威语文本(带有像æøå 这样的字母)。

我正在使用 XmlTextWriter 编写 XML,将内容写入 MemoryStream,如下所示:

然后我像这样添加我的挪威文本:

然后我像这样将文件写入磁盘:

现在的问题是,在这个文件中,所有的挪威字符看起来都很有趣。

我可能以某种愚蠢的方式做上述事情。关于如何修复它的任何建议?

0 投票
9 回答
256659 浏览

python - 在 Python 中从文件中读取字符

在文本文件中,有一个字符串“我不喜欢这个”。

然而,当我把它读成一个字符串时,它变成了“我不喜欢这样\xe2\x80\x98t”。我知道 \u2018 是“'”的 unicode 表示。我用

命令进行阅读。

现在,是否有可能以这样的方式读取字符串,当它被读入字符串时,它是“我不喜欢这个”,而不是“我不喜欢这个”?

第二次编辑:我看到有人使用映射来解决这个问题,但实际上,没有内置的转换可以将这种 ANSI 转换为 unicode(反之亦然)吗?

0 投票
6 回答
7925 浏览

encoding - 如何在浏览器的文件下载框中显示非 ASCII 文件名?

似乎没有一种可接受的方式以非 ascii 格式发送标头参数。

文件下载的标头通常看起来像

内容配置:附件;文件名="theasciifilename.doc"

除非你在文件名参数中破坏了一个 utf8 编码的字符串,Firefox 会很好地处理它,而 IE 会抛出。

CodeProject 上有一个文档解释了对文件名进行编码的方法。

本文档通过十六进制编码字节将 Bản Kiểm Kê.doc 编码为 B%e1%ba%a3n%20Ki%e1%bb%83m%20K%c3%aa.doc。

问题 #1:该字符串中的第一个字符:ả 的值为 ả - 将该数字编码为十六进制,您会得到 %a3%1e。这家伙是怎么得到%e1%ba%a3的?(我显然在这里遗漏了一些简单的东西)

问题 #2:虽然 IE 承认这种编码,但 Firefox 不承认!该怎么办?

0 投票
3 回答
15558 浏览

python - 使用 POST 从 Python 脚本发送文件

这几乎是使用 Python 脚本中的 POST 发送文件的重复,但我想补充一点:我需要一些能够正确处理字段和附加文件的编码的东西。当您将包含非 ascii 字符的 unicode 字符串放入混合中时,我能够找到解决方案。此外,大多数解决方案不会对数据进行 base64 编码以保持 7 位干净。

0 投票
4 回答
468 浏览

python - 寻找包含字母数字+“&”和“;”的正则表达式

这是问题所在:

这个正则表达式在处理正则词时工作得很好,但是在某些情况下我需要表达式来包含像käyttäj&aml;auml;.

我应该在正则表达式中添加什么以包含∧字符?

0 投票
3 回答
16915 浏览

mysql - 将 UTF-8 编码的转储加载到 MySQL

昨天几个小时我一直在关注这个问题:

我在 MySQL 4.1.22 服务器上有一个数据库,其编码设置为“UTF-8 Unicode (utf8)”(由 phpMyAdmin 报告)。此数据库中的表的默认字符集设置为latin2但是,使用它的 Web 应用程序(用 PHP 编写的 CMS Made Simple)以utf8 格式显示页面......

不管这可能是多么糟糕,它确实有效。Web 应用程序正确显示字符(主要使用捷克语和波兰语)。

我运行:“mysqldump -u xxx -p -h yyy dbname > dump.sql”。这给了我一个 SQL 脚本:

  • 以UTF-8显示时,在任何编辑器(如 Notepad+)中看起来都很完美- 所有字符都正确显示
  • 脚本中的所有表都将默认字符集设置为latin2
  • 它有“/*!40101 SET NAMES latin2 */;” 开头的行(以及其他设置)

现在,我想将此数据库导出到在 MySQL 5.0.67 上运行的另一台服务器,服务器编码也设置为“UTF-8 Unicode (utf8)”。我复制了整个 CMS Made Simple 安装,复制了 dump.sql 脚本并运行“mysql -h ddd -u zzz -p dbname < dump.sql”。之后,在显示 CMSMS 网页时,所有字符都被打乱。

我尝试设置:
SET character_set_client = utf8;
SET character_set_connection = latin2;

所有组合(只是为了安全,即使它对我没有任何意义):latin2/utf8、latin2/latin2、utf8/utf8 等 - 无济于事。所有字符仍然打乱,但有时以不同的方式:)。

我还尝试在脚本中用 utf8 替换所有 latin2 设置(为表设置名称和默认字符集)。没有。

这里有没有 MySQL 专家可以用几句话来解释(我相信这毕竟很简单)整个编码的东西是如何工作的?我读了9.1.4。连接字符集和排序规则,但在那里没有发现任何帮助。

谢谢,马特

0 投票
4 回答
2834 浏览

java - 为应用程序中的单个 Tapestry 4 页面设置 ISO-8859-1 编码,否则完全是 UTF-8

我有一个 Tapestry 应用程序将其页面作为 UTF-8 提供服务。也就是说,服务器响应具有标题:

现在在这个应用程序中有一个页面应该使用 ISO-8859-1 编码。也就是说,服务器响应应该有这个头:

这该怎么做?我不想更改整个应用程序的默认编码。

基于谷歌搜索,我尝试了以下操作:

但是使用 @Meta 注释设置这些值或覆盖 getOutputEncoding 方法都不起作用。

我正在使用 Tapestry 4.0.2。

编辑:我最终使用带有子类 HttpServletResposeWrapper 的 Servlet 过滤器来执行此操作。包装器覆盖 setContentType() 以强制响应所需的编码。

0 投票
11 回答
140928 浏览

html - 在 Internet Explorer 的表单提交中设置字符编码

我有一个包含表单的页面。此页面以内容类型 text/html;charset=utf-8 提供。我需要使用 ISO-8859-1 字符编码将此表单提交到服务器。这可以通过 Internet Explorer 实现吗?

像这样将 accept-charset 属性设置为表单元素,适用于 Firefox、Opera 等,但不适用于 IE。

编辑:此表单由服务器 A 创建,并将提交给服务器 B。我无法控制服务器 B。

如果我将服务器 A 设置为使用字符集 ISO-8859-1 提供内容,那么一切正常,但我正在寻找一种方法来使这项工作在不更改服务器 A 编码的情况下进行。我有另一个关于在服务器 A 中设置编码的问题。

0 投票
3 回答
3076 浏览

windows - 为什么我的文件需要 dos2unix?仅在日食中

当我在 Eclipse 中打开一个文件时,它显示不正确的行距,显示每行之间有一个额外的换行符。当我用记事本或写字板打开文件时,它不会显示只有 eclipse 显示的这些额外的换行符。如何让 eclipse 在没有这些换行符的情况下读取这些文件,如记事本和写字板?

-edit:我对所有文件都没有这个问题,但只有少数几个我进行了本地更改>将它们上传到我们的太阳站>然后将这些文件拉回我的本地工作站以供将来修改。

0 投票
22 回答
154264 浏览

excel - Microsoft Excel 破坏 .csv 文件中的变音符号?

我正在以编程方式将数据(使用 PHP 5.2)导出到 .csv 测试文件中。
示例数据:( Numéro 1注意带重音的 e)。数据是utf-8(没有前置 BOM)。

当我在 MS Excel 中打开此文件时,显示为Numéro 1.

我可以在正确显示它的文本编辑器(UltraEdit)中打开它。UE 报告字符为decimal 233.

如何在 .csv 文件中导出文本数据,以便MS Excel 正确呈现它,最好不强制使用导入向导或非默认向导设置?