首页 > 编程知识 正文

判断数据库是否存在(怎么检查mysql是否安装成功)

时间:2023-05-06 04:41:34 阅读:65328 作者:900

列举了5个CHARACTER SET的主要故障事例。

最佳做法

展望未来,最好使用CHARACTER SET utf8mb4和collation utf8 MB4_ unicode _ 520 _ ci。 (管道有Unicode排序规则的新版本。 )

utf8mb4是超集的utf8,处理4字节的utf8代码、表情符号和某些中文所需。

除了MySQL以外,“UTF-8”表示所有大小的编码,因此实际上是与MySQL相同的utf8mb4,而不是utf8。

以下尝试使用这些拼写和大写字母来区分MySQL的内部和外部。

我应该制定什么样的概要

将您的编辑器等设置为UTF-8。 HTML表单必须以开头。 将你的字节编码为UTF-8。 创建UTF-8作为客户端使用的编码。 列/表使用CHARACTER SET utf8mb4 (检查显示创建表。 )

存储在HTML开头的例程获取当前字符集/排序规则。 他们可能需要重建。 UTF-8始终贯穿

计算机语言详细信息(及其后续部分) ) ) ) )。

测试数据

使用工具或工具显示数据的选择是不可信的。 这类客户端,特别是浏览器太多,试图补偿未授权的编码,并在数据库损坏时显示正确的文本。 因此,选择并运行包含非英语文本的表和列

选择调用,hex(col ) FROM tbl WHERE .正确存储的UTF-8的十六进制是

在空格(任何语言) 20英语) 4x、5x、6x或7x西欧大部分地区,带重音符号的字符有Cxyy西里尔语、希伯来语和波斯语/阿拉伯语(Dxyy亚洲大部分地区) Exyyzz颜字符和一些中文

截断的文本(Se为Seor ) :

要保存的字节未编码为utf8mb4。 解决这个问题。 此外,在读取过程中检查连接是否为UTF-8。 钻石和问号(SEOR对SEOR ); 有下列情形之一:

情况1 (原始字节不是UTF-8 ) :

要保存的字节未编码为utf8。 解决这个问题。 的连接(或SET NAMES为) INSERT和SELECT不是UTF8/utf8mb4。 解决这个问题。 它还检查数据库中的列是否为CHARACTER SET utf8 (或utf8mb4)。 情况2 )原始字节为UTF-8 ) :

的连接(或SET NAMES )选择不是utf8/utf8mb4。 解决这个问题。 它还检查数据库中的列是否为CHARACTER SET utf8 (或utf8mb4)。 仅当浏览器设置为时,才会显示黑色菱形。

问号(不是普通的黑钻石() Se? or用于Seor ) :

要保存的字节未编码为utf8/utf8mb4。 解决这个问题。 数据库中的列不是CHARACTER SET utf8 (或utf8mb4)。 解决这个问题。 (使用显示创建表。 )另外,在读取过程中检查连接是否为UTF-8。 mojibake(seorforseor ) ()此讨论也适用于双编码,并不一定可见。 )

要保存的字节需要UTF-8编码。 解决这个问题。 要连接插入文本和选择文本,必须指定utf8或utf8mb4。 解决这个问题。 此列必须声明CHARACTER SET utf8 (或utf8mb4)。 解决这个问题。 HTML应该以开头。 如果数据看起来是正确的,但排序不正确,则表示选择了错误的排序规则,或者没有相应的排序规则,或者正在使用双精度编码。

SELECT . HEX .可以通过执行上述操作来验证双重编码。

should come back C3A9,butinsteadshowsc 383 C2 a9 theemojishouldcomebackf 09 f 91 BD,but comes back C3B0C5B8E28098C2BD,十六进制长度约为2. 这是因为从latin1 (或其他格式)转换为utf8,并将这些字节视为latin1并重复转换。 排序(和比较)无法正常进行。 例如,排序是因为字符串类似于Seor。 来源:堆栈溢出

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。