问题标签 [latin1]

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 投票
1 回答
209 浏览

encoding - 理解文件编码

在 Eclipse 中,我有一个文件,其中写有:

在 Eclipse 编辑菜单-> 设置编码中,我看到了这个:

在此处输入图像描述

现在我使用相同的对话框将编码更改为 UTF-8,文本更改为:

我所知道的是,如果这没有发生,那么我的网站就会正常工作。为什么会发生这种情况,我该怎么做才能防止这种情况发生?

我确实有一些关于编码的知识:Â 和 nbsp 之谜解释 了每个软件开发人员绝对、肯定必须了解 Unicode 和字符集的绝对最低要求(没有借口!)但我仍然不明白为什么会发生这种情况。随意转到字节级别(文件如何存储)只是为了解释它。

更新:这是我的理解:如果文件被编码,latin-1那么每个字符都是一个字节,. 它应该是hex(32)。现在,当我将其转换为 utf-8 时,它仍然存在hex(32),而且绝对是. 这使我相信在 latin-1 中,它不是hex(32)两个字节的组合。这怎么可能?

0 投票
1 回答
7913 浏览

mysql - 特殊字符在 MySQL 导出/导入中丢失

我正在尝试将 MySQL 3.23.58 数据库移动到运行 5.5.19 的不同服务器。

旧版本指定了 latin1 编码,据我所知,底层数据确实是 latin1。我尝试了很多东西,主要是:

  • 使用 mysqldump 和 latin1 编码标志从终端导出。
  • 在 vim 中编辑以将“TYPE=InnoDB”更改为“ENGINE=InnoDB”以兼容 MySQL 5。
  • 从终端导入到新服务器。

浏览旧服务器(在 Mac 上的 Sequel Pro 或 PC 上的 MySQL 查询浏览器中),特殊字符并不总是正确显示,但它们就在那里(查看十六进制的二进制文件)。(在任何情况下,它都适用于 PHP Web 应用程序。)

浏览新服务器时,所有特殊字符似乎都已被问号替换。我知道如果指定了错误的编码,有时特殊字符会显示为问号(或 �)。但这些似乎是二进制级别的真正直接编码的 ASCII 问号。特殊字符(主要是弯引号和破折号)似乎在导出/导入中丢失或损坏。

知道为什么吗?

我知道编码有很多地方会出错,有很多不同的地方有问题。我已经阅读了几天(这里和其他地方)并尝试设置所有正确的字符编码,尝试 UTF-8,尝试转换和转换,尝试 Sequel Pro 的导出/导入(而不是终端)等等。但是我难住了。

0 投票
2 回答
1212 浏览

ios - 为什么直接注释编码字符串不转换为阿拉伯语?

为什么直接注释编码字符串不转换为阿拉伯语?当我对阿拉伯语进行硬编码时,它会编码然后正确解码,但是为什么静态编码的字符串不能在阿拉伯语中不可读?

感谢您的回复杰克。是的,我在解码“staticEncodedString”时丢失了数据。但我想要的只是将以下字符串解码回阿拉伯语。

0 投票
2 回答
1118 浏览

java - 替换所有非 latin-1 字符的 API 或方法

我正在处理第 3 方 API / Web 服务,它们只允许在其 XML 中设置 latin-1 字符集。是否有现有的 API / 方法可以查找和替换字符串中的所有非 latin-1 字符?

例如:凯文

有没有办法让那个凯文?

0 投票
1 回答
1898 浏览

python - ISO 8859-1 文件名未解码

我正在从 python milter 中的 MIME 消息中提取文件,并且正在运行具有如下文件的问题:

=?ISO-8859-1?Q?Certificado=5FZonificaci=F3n=5F2010=2Epdf?=

我似乎无法将此名称解码为 UTF。为了解决之前的 ISO-8859-1 问题,我开始将所有文件名传递给这个函数:

在我得到这个文件名之前一直有效。

想法一如既往地受到赞赏。

0 投票
3 回答
2325 浏览

perl - 在 Perl 中正确处理 UTF-8

我得到了一个文件,(可能)用 Latin-1 (ISO 8859-1) 编码,并且有一些转换和数据挖掘需要用它来完成。输出应该是 UTF-8 格式,我已经尝试了所有我能找到的关于 Perl 中的编码转换的方法,但它们都没有产生任何可用的输出。

我知道这use utf8;从一开始就无济于事。我试过这个Encode包,看起来很有希望:

我尝试了我能想到的任何组合,还加入了binmode(STDOUT, ":utf8");open FILE, '<:encoding(ISO-8859-1)', $ARGV[0] or die $!;等等。结果要么是混乱的变音符号,要么是错误消息,例如\xC3 is not a valid UTF-8 character,甚至是混合文本(一些在 UTF-8 中,一些在 Latin-1 中)。

我想要的只是一种简单的方法来读取 Latin-1 文本文件并通过print. 在 Perl 中是否有任何简单的方法可以做到这一点?

0 投票
1 回答
1449 浏览

codeigniter - Chatset latin1 (Vbulletin) 的 Codeigniter 错误

我使用codeigniter制作了一个项目,如下所示。 我想连接到 Vbulletin 的 mysql 并在我的项目中显示,我用UTF-8而不是DOM保存代码,它显示正常,但我在 Chrome 和 IE 上看到错误HEAD没有一切。但只有HEAD中的TITLE和BODY之后的所有内容。并且在 BODY 之后的 "" 中有空格

我在 codeigniter 中配置 database.php 是。

我使用 latin1 因为 Vbulletin 使用它。

网页

我尝试更改聊天集是(latin1 或 utf-8)。但它不起作用请帮助我,谢谢

0 投票
0 回答
239 浏览

mysql - After migrating db php returns latin1 charset, but in DB - cp1251

I need to transfer my mysql DB from windows server to Ubuntu server. So i made export in phpmyadmin on win and imported *.sql file in linux. In linux PMA all looks okay, tables are healthy, no errors, and charter set is (cp1251), russian data in tables looks how it needed. But when i try to run select in php script there is only "???????" in result, and echo mysql_client_encoding() showing that charset is latin1. Please, tell me where is latin1 can be seted? Thanks for help.

UPD: I am using now mysql_set_charset('cp1251'); after each db connection, but its not an pefect solution. Maybe someone can offer other idea?

0 投票
1 回答
1988 浏览

mysql - 如何将mysql格式latin1中的旧数据库转换为utf8

我有一个 latin1 格式的数据库,所有存储的 utf8 字符都显示为 ????

现在我使用这个命令并将数据库和表的格式更改为utf8

我读过 latin1 对每个字符使用 1 个字节,但 utf8 对每个字符使用 3 个字节。我的问题是,如果我将我的表(已经包含大量数据)从 latin1 更改为 utf8,那么旧的字符数据将消耗 3 字节或 1 字节。如果我使用更改并转换数据,我会对旧数据有问题吗?我确信新数据将采用 utf8 格式。

0 投票
1 回答
959 浏览

mysql - MySQL 的字符编码问题 - 排序规则设置为 UTF-8,但文本存储为 ISO Latin 1

我有一个表,其排序规则设置为 ut8_general_ci。表中的列也设置为此编码。

但是由于某种原因,当我在 MySQL 中查看我的表时,表中的文本被呈现/存储为 ISO Latin 1,如果我不想编辑表中任何条目中的任何文本,我必须使用ISO Latin 1 编码以确保文本在页面上正确呈现(页面用户 UTF8)。

手动将 ISO Latin 1 文本输入到表中通常可以工作,但是对于几个条目它不起作用,即字符在我的页面上没有正确呈现(当我使用 UTF8 时它们也没有正确呈现)。因此这个问题。如果我能弄清楚 MySQL 如何处理字符编码,我可能会解决这个问题。

所以,问题是有人可以解释 MySQL 如何处理编码,特别是为什么当排序规则设置为 UTF-8 时我在表中看到 ISO Latin 1 字符。