草庐IT

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

我正在尝试将MySQL3.23.58数据库移动到另一台运行5.5.19的服务器。旧版本指定了latin1编码,据我所知,底层数据确实是latin1。我尝试了很多东西,主要是:使用mysqldump和latin1编码标志从终端导出。在vim中进行编辑以将“TYPE=InnoDB”更改为“ENGINE=InnoDB”以兼容MySQL5。从终端导入到新服务器。浏览旧服务器(在Mac上的SequelPro或PC上的MySQL查询浏览器中),特殊字符并不总是正确显示,但它们就在那里(查看十六进制的二进制文件)。(在任何情况下,它都适用于PHPWeb应用程序。)浏览新服务器时,所有特殊字符似乎都已

java - 从 java 查询到 latin1 列

我想像这样按标题查询:Stringtitle="transfusión";Stringsql="SELECTidFROMgraphWHEREtitle=?";PreparedStatementst=conn.prepareStatement(sql);st.setString(1,title);st.executeQuery();问题是标题列的字符集是latin1而我的java文件编码是utf8。当title变量包含重音符号等特殊字符时,查询永远找不到结果。我正在使用MySQL数据库,连接URL是:jdbc:mysql://mysite:3306/mydatabase?autoReco

php - 如何使用 php 检索 utf-8 数据并在 excelsheet 数据库转储中显示正确的编码?

您好,我主要将英语和德语字符保存到当前设置为utf-8字符集的mysql数据库中。我假设我应该为这种类型的数据使用latin1字符集,对吗?如果是这样,我如何更改字符集以更正现在保存在utf-8中的德语字符?更新也许这是一个检索问题...当我通过php从数据库导出数据时,我当然会得到utf-8,我可以检索给我latin1吗?更新1好的,我正在建立一个网站,html编码是uft-8db是uft-8,现在我想运行一些导出和提取数据,应该在excel表中返回,数据是utf-8,但这里我需要字符为latin1...或者从数据库中提取的excel表的编码需要这样Töst将显示Täst。现在我得到

Mysql 的 MD5 不能很好地处理编码

今天我遇到了一个有趣的问题。在我的用户表中,所有字段都是latin1_swedish_ci。密码存储为用户特定盐及其密码的md5哈希值。此查询导致错误:SELECT*FROMusersWHEREemail='...'ANDpassword=MD5('1234'+salt)提示#1267-操作'='的排序规则(latin1_swedish_ci,IMPLICIT)和(utf8_general_ci,COERCIBLE)的非法混合当我将最后一行更改为:ANDpassword=CAST(MD5('1234'+salt)ASCHARCHARACTERSETlatin1)查询执行得很好。首先我怀

php - 带有 PDO 的混合 UTF-8 和 latin1 表

存在我无法更改字符集的现有数据库/表。这些表使用排序规则“latin1_swedish_ci”,但其中存储了UTF-8数据。例如字符串“fußball”(德国足球)被保存为“fuøball”。这是我无法更改的部分。我的整个脚本在UTF-8下工作得很好,它有自己的UTF-8表,我使用PDO(mySQL)和UTF-8连接来查询。但有时我不得不查询一些“旧”latin1表。有什么“很酷”的方法可以解决这个问题而不是发送SETNAMES。这是我在stackoverflow上的第一个问题!:-) 最佳答案 实际上很容易认为数据是以一种方式编码

mysql - 操作 '=' 的错误编号 : 1267 Illegal mix of collations (latin1_swedish_ci, IMPLICIT) 和 (utf8_general_ci,COERCIBLE)

表名:xyz类型:InnoDB整理:latin1_swedish_ci字段:---------------------------------------------------------------------------Field|Type|Collation|Extra|---------------------------------------------------------------------------id|int||PrimaryKey|--------------------------------------------------------------

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

我最近偶然发现了一个MySQL数据库,该数据库使用Latin1编码,并且在浏览器问号符号上查看时呈现。为了解决这个问题,我们在所有表上将数据库的编码更改为utf8,并将排序规则更改为utf8_general_ci,但是已经存储的数据仍然显示为问号符号,所有数据从mysql存储和轮询到浏览器由php完成我确保utf8也在php上使用,甚至像许多人在网上建议的那样运行setnamesutf8,问题是现在我最终在我们知道没有的字符串上得到了奇怪的字符,例如ÃÂ'.数据示例存储:EMMANUELPE\xc3\u0192\xc2\u2018AGOMEZ葡萄牙渲染:EMMANUELPEÑA

MySQL 将表从 Latin1 转换为 utf8

我需要将包含大量数据的表从Latin1转换为utf8,以便它可以接受韩文字符。如何在不破坏其中数据的情况下更改该表?我的SQL语句是什么?继续的最佳方式是什么? 最佳答案 ALTERTABLEdatabase_name.table_nameCONVERTTOCHARACTERSETutf8; 关于MySQL将表从Latin1转换为utf8,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questio

mysql - 如何在不保存以检查是否与外部 ASCII 字符串匹配的情况下即时将列转换为 ASCII?

我有一个成员搜索功能,您可以在其中提供部分姓名,返回的内容应该是至少具有与该输入匹配的用户名、名字或姓氏之一的所有成员。这里的问题是某些名称具有“奇怪”的字符,例如Renée中的é并且用户不想输入奇怪的字符,而是输入普通的ASCII替代字符e.在PHP中,我使用iconv将输入字符串转换为ASCII(以防有人输入奇怪的字符)。然而,在数据库中,我还应该将奇怪的字符转换为ASCII(显然)以便匹配字符串。我尝试了以下方法:SELECTCONVERT(_latin1'Renée'USINGascii)t1,CAST(_latin1'Renée'ASCHARCHARACTERSETASCII

php - 将 latin1 编码的文本插入 utf8 表(忘记使用 mysql_set_charset)

我有一个PHP网络应用程序,其中包含采用utf8文本的MySQL表。我最近将数据从latin1转换为utf8以及相应的表和列。然而,我确实忘记了使用mysql_set_charset,而我假设最新的传入数据来自MySQL连接作为latin1。我不知道当latin1进入utf8列时会发生什么,但它会导致逗号、引号、&符号等项目出现一些奇怪的显示问题。现在mysql_set_charset已经就位,它正在提取带有时髦字符的数据。既然我有使用正确字符集的数据库连接资源,有什么方法可以将latin1-utf8soup转换为纯utf8? 最佳答案