2012-04-26 47 views
1

我知道我可以在mysql中设置可变参数来处理utf8(客户端,连接,数据库,结果,服务器和系统)。实际上,我将它们都设置为utf8(文件系统除外)。但是当我在mysql文件夹(带有textwrangler)的数据目录中打开某些 .MYD文件时,它说文本编码是Western(Mac OS Roman),并且显示奇怪的字符而不是西班牙语口音。当我通过mysqldump将数据库导出到某些 .sql文件时,我将它打开为TextEdit,那些奇怪的字符被传递到该文件(即使我将--default字符集设置为utf8)。 有没有办法让MySQL在.MYD文件中存储实际的utf8字符?如果可能的话,在mysql中处理非ascii字符是一个好习惯吗? 在此先感谢。哪种编码使用mysql将数据存储在.MYD文件中?

+0

为什么你在乎你的MYD文件使用什么编码?从大多数人的角度来看,MySQL有权根据需要对这些文件进行压缩/加密/编码。 – eggyal 2012-04-26 22:16:13

+0

嗯,我很好奇。我正在学习mysql,我遇到了一个问题,我只是认为看着这些文件我可以找到答案。我意识到非ASCII字符在那里显示错误,所以我只是想知道为什么......我只是想从核心理解事情。 – metaskopia 2012-04-27 05:31:15

回答

0

要看到它的MySQL中一个名为mydb的数据库,运行此

SHOW CREATE DATABASE mydb; 

要看到它的操作系统,运行此

cd /var/lib/mysql/mydb 
cat db.opt 

如果表中特定的列不同的编码你可以看到它为mydb.mytable与

SHOW CREATE TABLE mydb.mytable\G 

如果您没有看到任何编码,然后选项卡les的默认应该是数据库的编码

+0

谢谢罗兰多。你的回答对我很有帮助,虽然它没有完全回答我问的问题。我只是想知道为什么我的数据库(即Western Mac os Roman)的.MYD文件的实际编码与我在创建它时指定的编码不同(即utf8)。我没有问题,只是想知道为什么......正如我对eggyal说的,我喜欢从核心理解事情。 – metaskopia 2012-04-27 05:41:52

相关问题