问题标签 [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 投票
3 回答
8289 浏览

oracle - Oracle:将 varchar2 字段中的 xml 实体转换为 utf-8 字符

我在一个表中有一个字段,其中包含特殊字符的 XML 实体,因为该表是 latin-1 格式的。例如“ Hallöle slovenčina”(“ö”在 latin-1 中,但“slovenčina”中的“č”必须由某些将值存储到数据库中的应用程序转换为实体)

现在,我需要通过将 XML 实体转换为其原始字符,将表导出为 utf-8 编码文件。

Oracle 中是否有一个函数可以为我处理这个问题,还是我真的需要为此创建一个巨大的键/值映射?

任何帮助是极大的赞赏。

编辑:我找到了函数DBMS_XMLGEN.convert,但它只适用于<,>&。不在&#NNN;:-(

0 投票
2 回答
3594 浏览

mysql - 替换mysql中的垃圾字符

我的数据库在latin1并且充满了â&quot;or '��&quot;'(取决于我的终端是分别设置为 latin1 还是 unicode)。从上下文来看,我认为它们应该是 emdashes。在 IE 中呈现(或不呈现)时,它们似乎会导致令人讨厌的错误。我想找到并替换它们。问题是 â 和 � 字符都不匹配replace. 运行查询:

执行没有错误,但不执行任何操作(更改了 0 行)。我很清楚,当我在终端中复制“菱形中的问号”字符时,它不匹配。有没有办法找出它的代码并与之匹配?mysql控制台非常接近能够在一行中执行此操作,因此如果可以避免的话,我宁愿不在终端之外编写脚本。

该数据库托管在 Amazon RDS 上,因此我无法安装我在此处的其他问题中看到的 regexp udf。从长远来看,我将不得不将整个 db 正确转换为 utf8,但我需要立即解决这个渲染问题。

编辑:

我用hexdumpe2 80 隔离了坏字符(我认为这不对应于任何 unicode 字符)。如何将其提供给替换功能?

不做任何事情。

0 投票
4 回答
36982 浏览

mysql - 如何在 Latin1 编码列中检测 UTF-8 字符 - MySQL

我即将承担将数据库从 Latin1 转换为 UTF-8 的繁琐且充满陷阱的任务。

此时,我只想检查我的表中存储了哪些类型的数据,因为这将决定我应该使用哪种方法来转换数据。

具体来说,我想检查 Latin1 列中是否有 UTF-8 字符,最好的方法是什么?如果只有几行受到影响,那么我可以手动修复它。

选项 1. 执行 MySQL 转储并使用 Perl 搜索 UTF-8 字符?

选项 2. 使用 MySQL CHAR_LENGTH 查找具有多字节字符的行?例如SELECT name FROM clients WHERE LENGTH(name) != CHAR_LENGTH(name); ,这就够了吗?

目前我已将 Mysql 客户端编码切换为 UTF-8。

0 投票
2 回答
8871 浏览

mysql - 为什么我的 View 是 utf8 以及如何将其更改为 latin1

我遇到了一个问题,客户端程序需要使用视图,但它需要结果为 latin1。这是我所拥有的:

0 投票
2 回答
791 浏览

mysql - 准备好的查询和常规查询之间的Erlang Emysql编码差异

我写了一个关于 emysql 编码的问题,在这里得到了正确的答案。答案指出了另一个问题......

我正在尝试将 iPhone 表情符号存储到数据库中...

当我做 :

一切正常...

但是有:

我正在检索 Mojibake。编辑使用正确的术语

我正在连接:

不幸的是,我不能使用 utf8,因为以前的软件使用数据库并以这种方式存储表情符号,如果我使用 utf8,它将适用于新系统,但不适用于旧系统插入的行。

编辑:

我真的很想使用准备好的语句,这将有效地防止 SQL 注入。

0 投票
3 回答
1448 浏览

php - UTF8 -> Latin1 难度,PHP

我正在失去重音字符。

我从 PHP 下载了一个使用 UTF8 的 xml 文件,而我的 PHP 脚本使用的是 Latin1。我无法将 UTF8 转换为 Latin1。

我试过这个:

但无论哪种方式,重音字符都会被破坏并变成 2 个字符。

输入:

输出:

我自己想通了,请参阅下面的答案。谢谢你们每一个人的帮助!

0 投票
1 回答
295 浏览

php - 将 UTF-8 数据放入 latin1 数据库列时会发生什么?

我得到了一些用 编码的数据UTF-8,这将是西班牙语。我需要放入的数据库列当前正在使用latin1字符集。

如果我将 UTF-8 数据放入这些列会发生什么?我会丢失任何正确的数据吗?或者我应该使用 php 函数转换编码mb_convert_encoding

0 投票
2 回答
2842 浏览

python - 可能来自 latin1 和 utf8 的字符串编码和解码

我最近偶然发现了一个使用 Latin1 编码的 MySQL 数据库,并且在浏览器问号符号上查看时正在呈现。为了解决这个问题,我们将所有表上的 DB 编码更改为 utf8,将排序规则更改为 utf8_general_ci,但是已经存储的数据仍然显示有问号,所有从 mysql 到浏览器的数据存储和轮询由 php 完成,我确保在 php 上也使用了 utf8,甚至按照网上很多人的建议运行了 set names utf8,问题是现在我在我们知道没有的字符串上得到了奇怪的字符,例如 ÃÂ' .

数据示例

存储:

EMMANUEL PE\xc3\u0192\xc2\u2018A GOMEZ 葡萄牙

渲染:

EMMANUEL PEÃÂ'A GOMEZ 葡萄牙

恰当的:

伊曼纽尔·皮亚·戈麦斯 葡萄牙


存储:

Luis Hern\xe1ndez-Higareda

渲染:

路易斯·埃尔南德斯-希加雷达

恰当的:

路易斯·埃尔南德斯-希加雷达


存储:

Teresa de Jes\xc3\u0192\xc2\xbas 加利西亚 G\xc3\u0192\xc2\xb3mez

渲染:

Teresa de Jesús 加利西亚 Gómez

恰当的:

特蕾莎·德·赫苏斯·加利西亚·戈麦斯


存储:

博士。JOS\xc3\u0192\xc2\u2030 ABEN\xc3\u0192\xc2\x81MAR RIC\xc3\u0192\xc2\x81RDEZ GARC\xc3\u0192\xc2\x8dA

恰当的:

博士。JOSÉ ABENÃÂMAR RICÃÂRDEZ GARCÃÂA

目前我正在使用 python 从数据库中获取数据,我正在尝试标准化为 unicode utf8 但我真的迷路了,就我到这里而言,我需要转换当前显示的内容很奇怪字符转换为可读文本,如上所示。

我在这里想念什么?数据是不可修复的吗?

功能 https://gist.github.com/2649463

注意: 在所有示例中,有 1 个是正确渲染的(如果有任何关于如何解决此问题的建议,请考虑是否存在)

0 投票
3 回答
1233 浏览

java - 如果您的输入文件包含一些不受支持的字符会怎样?

我有这个文本文件,它可能在 Latin1 字符集中包含一些不受支持的字符,这是我的 JVM 的默认字符集。

当我的 java 程序尝试从文件中读取时,这些字符会变成什么?具体来说,假设我在文件中有一个 2 字节长的字符,它是否会被读取为一个字节字符(因为 Latin1 中的每个字符只有 1 字节长)?

谢谢,

0 投票
1 回答
297 浏览

mysql - MySQL中奇怪的分隔十六进制 - 需要转换为UTF8

好的。所以我有一个大型的遗留数据库,它支持一个高流量的网站。这些表是 latin1 编码的,我正在转换为 UTF-8。我们已经将该站点转换为 Rails,并且我们开始直接访问数据库。然而,似乎在将 utf8 字符插入数据库时​​发生了一些非常奇怪的事情。我们正在使用 Tolk (https://github.com/dhh/tolk) 将站点转换为中文,不幸的是,该站点是在将翻译表转换为 UTF-8 之前设置的。问题是我们将一个奇怪的字符格式插入到 latin1 表中用于 unicode 字符。

这是一个例子:

数据被序列化为 YAML,Rails 或数据库似乎正在做一些事情来将 unicode 中文字符转换为这种反斜杠分隔的十六进制格式。

任何想法可能会发生什么?有没有办法将这些十六进制字符串翻译成相应的 utf-8 字符?