在mysql中插入和显示非英文字体

问题描述:

我有一个非英文字符的excel文件。当我打开excel文件时,我得到随机英文字符。但是,当我将字体更改为该语言时,我可以阅读有效的文本。在mysql中插入和显示非英文字体

但问题是,当我从该excel文件的数据加载到MySQL通过PHP,我只得到那些随机的英文字符。我没有得到我想要的语言,无论是MySQL或PHP。 PHP-MySQL连接后

mysql_query('SET collation_server=utf8_general_ci'); 
mysql_query('SET collation_connection=utf8_general_ci'); 
mysql_query('SET collation_database=utf8_general_ci'); 

mysql_query('SET character_set_server = utf8'); 
mysql_query('SET character_set_database = utf8'); 
mysql_query('SET character_set_results = utf8'); 
mysql_query('SET character_set_client = utf8'); 
mysql_query('SET character_set_connection=utf8'); 
mysql_query('SET names utf8;'); 
mysql_query('SET character_set utf8;'); 

我改变的字符集为UTF-8在MySQL和也可使用。

我该如何在浏览器中自动显示字体? 顺便说一句,如果我改变浏览器的字体,我可以阅读有效的文本。

谢谢。

+0

请在含有这些“随机字符”(例如一列中的十六进制转储:'SELECT HEX(列)WHERE ...',告诉我们你得到了什么 – NullUserException 2010-09-07 19:16:25

+0

我得到这个:62676857673B675B5B663B204668706174753B 62676857673B675B5B663B204668706174753B 62676857673B675B5B663B204668706174753B 62676857673B675B5B663B204668706174753B 62676857673B675B5B663B204668706174753B 62676857673B675B5B663B204668706174753B 62676857673B675B5B663B204668706174753B – jest 2010-09-07 19:20:13

+2

^h你是否用'PHP'导入'Excel'文件?你使用哪些库/扩展来读取文件? – Quassnoi 2010-09-07 19:22:59

如果你真的要改变一个特定的字体来显示字符(而不是仅仅设置正确的编码),那么你所拥有的是一个特定的字体定制“视觉编码”,其中的人物参与正常的ASCII字符,但映射到字体中字符的字形看起来不像那些ASCII字符。

这是一个可怕的,可怕的黑客攻击,无法在互联网上工作。在过去的时代(Unicode之前)有时需要代表那些没有官方编码的非常规语言,但现在几乎所有的代码都有正确的代码点。

如果这就是你正在谈论的,恐怕你将不得不通过每个ASCII字符,看看它映射到的字形,并找出Unicode代码指向的字符字形确实是表示的是。这将为您提供自定义字体到Unicode的映射,您必须使用它来将所有数据从当前格式转换而来。

那么什么是语言,字体是什么?

(除了:使用mysql_set_charset()设置从PHP MySQL连接编码器,代替上述任何语句。)