我有一个包含非英文字符的excel文件。当我打开excel文件时,我看到随机的英文字符。但是,当我将字体更改为该语言时,我可以读取有效的文本。
但问题是,当我通过php将数据从该excel文件加载到mysql中时,我只能得到那些随机的英文字符。我在mysql或php中都没有得到我想要的语言。
我在mysql中将字符集更改为utf-8,并使用:
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;');在php-mysql连接之后。
我应该怎么做才能在浏览器中自动显示字体?顺便说一句,如果我改变浏览器的字体,我可以阅读有效的文本。
谢谢。
发布于 2010-09-08 03:37:01
如果您确实需要更改为特定的字体来显示字符(而不仅仅是设置正确的编码),那么您所拥有的是特定于字体的自定义“视觉编码”,其中涉及的字符是普通的ASCII字符,但是映射到字体中这些字符的字形看起来与那些ASCII字符完全不同。
这是一个可怕的,可怕的黑客,永远不会在互联网上工作。在过去(在Unicode之前),有时有必要表示没有正式编码的不寻常的语言,但现在几乎所有的语言都有正确的代码点。
如果这就是你所说的,我担心你将不得不检查每个ASCII字符,看看它映射到的字形,并找出这个字形真正代表的字符的Unicode代码点是什么。这将为您提供自定义字体到Unicode的映射,您必须使用该映射将所有数据从当前格式转换。
那么语言是什么,字体是什么?
(另外:使用mysql_set_charset()设置MySQL连接编码,而不是上面的任何语句。)
https://stackoverflow.com/questions/3661898
复制相似问题