问题标签 [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.
encoding - 理解文件编码
在 Eclipse 中,我有一个文件,其中写有:
在 Eclipse 编辑菜单-> 设置编码中,我看到了这个:
现在我使用相同的对话框将编码更改为 UTF-8,文本更改为:
我所知道的是,如果这没有发生,那么我的网站就会正常工作。为什么会发生这种情况,我该怎么做才能防止这种情况发生?
我确实有一些关于编码的知识:Â 和 nbsp 之谜解释 了每个软件开发人员绝对、肯定必须了解 Unicode 和字符集的绝对最低要求(没有借口!)但我仍然不明白为什么会发生这种情况。随意转到字节级别(文件如何存储)只是为了解释它。
更新:这是我的理解:如果文件被编码,latin-1
那么每个字符都是一个字节,. 它应该是
hex(32)
。现在,当我将其转换为 utf-8 时,它仍然存在hex(32)
,而且绝对是. 这使我相信在 latin-1 中,
它不是
hex(32)
两个字节的组合。这怎么可能?
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 的导出/导入(而不是终端)等等。但是我难住了。
ios - 为什么直接注释编码字符串不转换为阿拉伯语?
为什么直接注释编码字符串不转换为阿拉伯语?当我对阿拉伯语进行硬编码时,它会编码然后正确解码,但是为什么静态编码的字符串不能在阿拉伯语中不可读?
感谢您的回复杰克。是的,我在解码“staticEncodedString”时丢失了数据。但我想要的只是将以下字符串解码回阿拉伯语。
java - 替换所有非 latin-1 字符的 API 或方法
我正在处理第 3 方 API / Web 服务,它们只允许在其 XML 中设置 latin-1 字符集。是否有现有的 API / 方法可以查找和替换字符串中的所有非 latin-1 字符?
例如:凯文
有没有办法让那个凯文?
python - ISO 8859-1 文件名未解码
我正在从 python milter 中的 MIME 消息中提取文件,并且正在运行具有如下文件的问题:
=?ISO-8859-1?Q?Certificado=5FZonificaci=F3n=5F2010=2Epdf?=
我似乎无法将此名称解码为 UTF。为了解决之前的 ISO-8859-1 问题,我开始将所有文件名传递给这个函数:
在我得到这个文件名之前一直有效。
想法一如既往地受到赞赏。
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 中是否有任何简单的方法可以做到这一点?
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)。但它不起作用请帮助我,谢谢
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?
mysql - 如何将mysql格式latin1中的旧数据库转换为utf8
我有一个 latin1 格式的数据库,所有存储的 utf8 字符都显示为 ????
现在我使用这个命令并将数据库和表的格式更改为utf8
我读过 latin1 对每个字符使用 1 个字节,但 utf8 对每个字符使用 3 个字节。我的问题是,如果我将我的表(已经包含大量数据)从 latin1 更改为 utf8,那么旧的字符数据将消耗 3 字节或 1 字节。如果我使用更改并转换数据,我会对旧数据有问题吗?我确信新数据将采用 utf8 格式。
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 字符。