SQL数据库数据中出现随机未知字符

时间:2013-02-28 23:03:34

标签: php mysql phpmyadmin

任何人都可以帮忙..?

这是我在PHPMyAdmin中使用“内联编辑”修改的数据中出现的内容:

还有这样的换行符:<br />之后会出现如下所示的换行符:<br>

符号仅在代码呈现到页面中时出现,并且在PHPMyAdmin中的任何编辑模式下都无法显示。这是我见过的最奇怪的事情。为什么会写更多的换行符?!

任何人都有线索在这里发生什么?

这只发生在我向我的表添加新列之后 - >仅使用phpmyadmin中的内联编辑在特定条目中添加数据。我添加数据的这些条目是发生这种疯狂的条目。

有没有人有一个sql脚本可以摆脱我的空白条目?

这是在本地主机测试服务器btw

1 个答案:

答案 0 :(得分:0)

这些是16位(两个字节)值。任何语言的每个单独的字母或符号都将保存为唯一值。当您查看数据库中的原始数据时,您会看到实际值的两半的8位(一个字节)ASCII表示。因此,像两个字符“Ø*”之类的东西实际上是一个阿拉伯符号。

当MySQL输出信息时,它会被双字节值转换回正确的符号。

任何其他非欧洲语言都会发生同样的情况。 8位ASCII具有基于拉丁语,希腊语等的所有字符(许多非英语字母在高位符号中; 0到127之间的值主要是英语,128到255之间的值包括非英语符号和字母)。这反映了美国ASCII的起源。中文,日文,阿拉伯文和许多其他语言的文本使用16位值从256到65384呈现。 所以 - 你应该查看有关UTF字符集及其显示方式的信息。

只需创建函数即可删除超过256的值以删除。每件事都按你的意愿发生

相关问题