所以我有一张excel表格,我已将其保存为CSV并使用网页选项编码为UTF-8
。当我最初这样做时,它显示了我删除的很多重音字母,这很奇怪,因为内容是一个非常简单的语言列表。我删除了所有这些字符,并使用带有LOAD DATA
和utf8
字符集的CSV导入到SQL。我运行了查询'SET NAMES utf8'
,我在phpmyadmin的操作菜单中将我的数据库的Collation更改为utf8_general_ci。我已经设置了
<meta charset="utf-8"/>
位于我的网页顶部,我已经设置了
<?php echo utf8_encode($row['lang']); ?>
在我的网页中回显一串语言。
我得到的是一个离开div容器的列表。我已经确定一些空格似乎能够下降到一个新的行,因此浏览器似乎认为列表是一个长字而不是几个分开。有人有什么想法吗?
示例数据:“英语,西班牙语,法语,俄语”
答案 0 :(得分:0)
目前,您的问题描述不足以重现您的问题。
但是,我建议使用一个常用的配方,大部分时间都可以找出问题所在:
在以下步骤中使用此示例,以确定问题的位置。
打开文本文件,看看是否有一些奇怪的字符。如果有,那可能是你的问题。解决它。
使用phpmyadmin打开您的数据库或其他一些不会使用编码来显示误导性内容的工具。检查是否有奇数字符。如果有,您的导入或您的表格/数据库的字符集/整理是错误的。解决它。
使用浏览器开发人员工具查找响应的字符集。也使用视图 - &gt;文本编码(这将在firefox中,类似于其他浏览器)菜单选项,以确定,如果切换到utf-8时有什么变化。这通常意味着,编码头不匹配整个有效载荷的编码。设置http标头和元标记(通常被忽略)charset可能有所帮助。
php脚本文件和db查询返回的数据应具有相同的编码(最好是utf-8),特别是如果输出php文件中的文字字符串或其他文件输出不同的编码。在某些情况下,这并不是非常简单。但可能有些iconv
恶作剧会对此有所了解,file -i
也有助于确定脚本文件的编码。
如果所有这一切都井然有序,我就会失去想法。如果您在理解部分或全部这些部分时遇到问题......您应该阅读或要求其他人这样做。