Apache(XAMPP)服务器的Charset

时间:2014-03-07 23:18:46

标签: php apache xampp

我在我的Mac上运行XAMPP Apache PHP服务器,我面临以下问题:äöü和ß等德语特殊字符显示奇怪的问号而不是正确的符号。我假设服务器配置错误,因为文件都以UTF-8保存并包含

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

在-Tag文件中。

任何人都知道如何摆脱那些 ?我已经想到了httpd.conf,但已经有类似

的东西了
#UTF 8
AddDefaultCharset utf-8

在里面。 php.ini还包括

default_charset = "utf-8“

我真的不知道如何继续,我的整个页面看起来不像那些奇怪的问题标签那样好......

感谢您的帮助! 添

7 个答案:

答案 0 :(得分:4)

我在XAMPP本地服务器上遇到了同样的问题,但这些都不适用于我。问题在于mySQL(我的所有外语看起来都很好)和服务器(一切看起来都很好)之间的数据传输。我只是在my.ini中遗漏了这一句话 &#34;被character_set_server = UTF8&#34; 这似乎影响了服务器和mySQL之间的数据通信 不要同时更改任何其他UTF-8声明!

答案 1 :(得分:1)

您是否在源文件中键入了这些字符?在这种情况下,哪个编码是源文件保存在?

使用元标记“Content-Type”,您告诉浏览器将页面解释为UTF-8(尽管服务器返回的其他任何值)。
但是,如果您使用UTF-8的其他编码保存文件,则会以错误的方式显示。

我的建议是与您的编辑一起检查它正在使用哪种编码,并告诉它默认使用UTF-8。

答案 2 :(得分:1)

更新XAMPP后遇到同样的问题。 我正在使用另一个字符集来显示荷兰,德国,挪威,瑞典和丹麦等国家使用的各种字符。所以我的HTML包含:

将default-charset更改为&#34; windows-1252&#34;为我做了诀窍。

答案 3 :(得分:1)

  1. 在“ C:\ xampp \ mysql \ bin \”目录中打开“ my.ini”。
  2. 从以下代码中删除注释标签“#”

    init-connect=\'SET NAMES utf8\'
    collation_server=utf8_unicode_ci
    character_set_server=utf8
    skip-character-set-client-handshake
    character_sets-dir="C:/xampp/mysql/share/charsets"
    

这对我有用

答案 4 :(得分:1)

PHP文件为ANSI格式。我将其更改为UTF-8,一切开始正常工作。我没有更改任何代码。

答案 5 :(得分:0)

我添加到my.ini配置文件xampp并解析

[mysqld] 

character-set-server = utf8

答案 6 :(得分:0)

删除mysql/bin/my.ini文件中的这一行

character-set-server=utf8mb4
collation-server=utf8mb4_general_ci

或将 utf8mb4 改为 uft8

character-set-server=utf8
collation-server=utf8_general_ci