php - 准备 PHP 应用程序以使用 UTF-8

标签 php unicode utf-8 character-encoding webserver

UTF-8 现在是 Web 应用程序事实上的标准,但是 PHP 这不是 PHP 的默认编码(直到 6.0)。大多数服务器默认设置为 ISO-8859-1 编码。

如何重载 .htaccess 中的默认设置以确保 UTF-8、区域设置等一切正常? Web 服务器、Unix 操作系统的任何选项?

是否有这些设置的完整列表?例如。 mbstring 选项、iconv 设置、区域设置等我应该为每个多语言项目设置吗?任何预定义的 .htaccess 作为示例?

(在我的特殊情况下,我需要设置语言:英语、荷兰语和俄语。服务器位于乌克兰)。

最佳答案

.htaccess 中一些有用的选项:

########################################
# Locale settings
########################################

# See: http://php.net/manual/en/timezones.php
php_value date.timezone "Europe/Amsterdam"

SetEnv   LC_ALL  nl_NL.UTF-8

########################################
# Set up UTF-8 encoding
########################################

AddDefaultCharset UTF-8
AddCharset UTF-8 .php

php_value default_charset "UTF-8"

php_value iconv.input_encoding "UTF-8"
php_value iconv.internal_encoding "UTF-8"
php_value iconv.output_encoding "UTF-8"

php_value mbstring.internal_encoding UTF-8
php_value mbstring.http_output UTF-8
php_value mbstring.encoding_translation On
php_value mbstring.func_overload 6

# See also php functions:
# mysql_set_charset
# mysql_client_encoding

# database settings
#CREATE DATABASE db_name
#   CHARACTER SET utf8
#   DEFAULT CHARACTER SET utf8
#   COLLATE utf8_general_ci
#   DEFAULT COLLATE utf8_general_ci
#   ;
#
#ALTER DATABASE db_name
#   CHARACTER SET utf8
#   DEFAULT CHARACTER SET utf8
#   COLLATE utf8_general_ci
#   DEFAULT COLLATE utf8_general_ci
#   ;

#ALTER TABLE tbl_name
#   DEFAULT CHARACTER SET utf8
#   COLLATE utf8_general_ci
#   ;

关于php - 准备 PHP 应用程序以使用 UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6987929/

相关文章:

c# - C# 中具有非 ascii 字符和 FileInfo 的文件路径

Java 按代码点 (UTF-32) 顺序对字符串进行排序

javascript - 使用 ajax 获取时未按预期显示 unicode 文本

Java 程序无法在 Ubuntu 中从 MySQL 打印印地语、古吉拉特语

php - 检测字符串是否包含至少 2 个字母(任何语言)和至少 2 个单词

python - Unicode解码错误: 'utf8' codec can't decode byte 0x80 in position 0: invalid start byte

php - Nginx 使用域名时返回 404 not found 错误

php - 如何扩展 ZF2 骨架应用程序 - 带外键的实体

javascript - 多数据库公司的 Pusher

php - 将 php $_GET 变量存储在 javascript 变量中?