2012-08-01 22 views
0

大家好我正在使用phpmyadmin来建立一个表,但我有几个问题。phpmyadmin显示??????当语言字段保存

这是我的当前设置:

Server: localhost via TCP/IP 
Server version: 5.5.16 
Protocol version: 10 
User: [email protected] 
MySQL charset: UTF-8 Unicode (utf8) 
Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 
Perl/v5.10.1 
MySQL client version: mysqlnd 5.0.8-dev - 20102224 - $Revision: 310735 $ 
PHP extension: mysql 

我试图填补我的语言栏的native_name列。

它有几分像这样:

Language ID Language Code Language name Native name Active 
----------- ------------- ------------- ------------ ------ 
1   afr   Afrikaans  Afrikaans  0 
2   sqi   Albanian  gjuha shqipe 1 
3   ara   Arabic   العربية 
4   spa   Spanish   Espanol  1 
5   eng   English   English  1 

但是我得到的是:

Language ID Language Code Language name Native name Active 
----------- ------------- ------------- ------------ ------ 
1   afr   Afrikaans  Afrikaans  0 
2   sqi   Albanian  gjuha shqipe 1 
3   ara   Arabic   ????????? 
4   spa   Spanish   Espanol  1 
5   eng   English   English  1 

enter image description here

好,所以这是怎样的故事去。正如你从上面的例子中知道的那样;本地名称列必须包含一大堆奇怪的字符。我拿到 ???? ???同时通过SQL进行插入,所以我决定也许内联编辑可以解决问题。

保存我的在线编辑后,但我已粘贴的阿拉伯文字恢复回??????? ????在页面刷新。

enter image description here

我如何能解决这个任何想法?正如你可以看到它发生在表格中的所有字符(即日文,中文等)上!

+0

表和字段字符集呢? – 2012-08-01 22:37:07

+0

我在哪里可以找到? – methuselah 2012-08-01 22:38:26

+0

它说latin1_swedish_ci – methuselah 2012-08-01 22:38:49

回答

1

基本上,根据您的意见,您有无效的字符集和整理你的桌子上/列,所以您将需要执行字符集转换也可能是表本身的复育......

ALTER TABLE [table] MODIFY [column] [type] CHARACTER SET utf8 COLLATE utf8_general_ci; ALTER TABLE [table] DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

检查这些链接:

+0

我输入了'ALTER TABLE语言MODIFY native_name varchar(20)CHARACTER SET utf8 COLLATE utf8_general_ci; ALTER TABLE native_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;'但是得到错误信息:'#1146 - 表'kite.native_name'不存在' – methuselah 2012-08-01 22:52:03

+0

这两个命令不是连续的,你不需要执行两个都。首先是字段字符集更改和表字符集更改的第二个示例......但是,您已向第二个查询提供字段名称(native_name)而不是表名称(语言)。 – 2012-08-01 22:54:04