php中的iconv functions

原创 2004年08月19日 20:56:00

介绍

This module contains an interface to the iconv library functions. The iconv library functions convert strings between various character sets encodings. The supported character sets depend on the iconv() implementation on your system. Note that the iconv() function on some systems may not work as well as you expect. In this case, you should install the libiconv library.

需求

Your systems standard C library must provide the iconv() function or you must have libiconv installed on your system. The libiconv library is available from http://www.gnu.org/software/libiconv/.

安装

To be able to use the functions defined in this module you must compile your PHP interpreter using the configure line --with-iconv[=DIR].

Note to Win32 Users: In order to enable this module on a Windows environment, you must copy iconv-1.3.dll from the DLL folder of the PHP/Win32 binary package to the SYSTEM32 folder of your windows machine. (Ex: C:/WINNT/SYSTEM32 or C:/WINDOWS/SYSTEM32). Starting with PHP 4.2.1 the name changed to iconv.dll

运行时配置

这些函数的行为受到全局配置文件 php.ini 的影响。

表格 1. Iconv configuration options

Name Default Changeable
iconv.input_encoding ICONV_INPUT_ENCODING PHP_INI_ALL
iconv.output_encoding ICONV_OUTPUT_ENCODING PHP_INI_ALL
iconv.internal_encoding ICONV_INTERNAL_ENCODING PHP_INI_ALL
For further details and definition of the PHP_INI_* constants see ini_set().

资源类型

该扩展模块未定义任何资源类型。

预定义常量

Since PHP 4.3.0 it is possible to identify at runtime which iconv implementation is adopted by this extension.

表格 2. iconv constants

constant type description
ICONV_IMPL string The implementation name
ICONV_VERSION string The implementation version

注: Writing implementation-dependent scripts with these constants should be discouraged.


iconv_get_encoding

(PHP 4 >= 4.0.5)

iconv_get_encoding -- Get current setting for character encoding conversion

Description

array iconv_get_encoding ( [string type])

It returns the current settings of ob_iconv_handler() as array or FALSE on failure. The value of the optinal type can be:

all
input_encoding
output_encoding
internal_encoding

If type is omitted or not 'all' iconv_get_encoding() returns the current settings of ob_iconv_handler() as string.

例子 1. iconv_get_encoding() example:

<pre>
<?php
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "ISO-8859-1");
var_dump(iconv_get_encoding('all'));
?>
</pre>

The printout of the above program will be:

Array

(

    [input_encoding] => ISO-8859-1

    [output_encoding] => ISO-8859-1

    [internal_encoding] => UTF-8

)

iconv_set_encoding

(PHP 4 >= 4.0.5)

iconv_set_encoding -- Set current setting for character encoding conversion

Description

bool iconv_set_encoding ( string type, string charset)

It changes the value of type to charset. 如果成功则返回 TRUE,失败则返回 FALSE

The value of type can be:

input_encoding
output_encoding
internal_encoding

例子 1. iconv_set_encoding() example:

iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "ISO-8859-1");

iconv

(PHP 4 >= 4.0.5)

iconv -- Convert string to requested character encoding

Description

string iconv ( string in_charset, string out_charset, string str)

It converts the string str encoded in in_charset to the string encoded in out_charset. It returns the converted string or FALSE, if it fails.

例子 1. iconv() example:

echo iconv("ISO-8859-1","UTF-8","This is a test.");

ob_iconv_handler

(PHP 4 >= 4.0.5)

ob_iconv_handler -- Convert character encoding as output buffer handler

Description

array ob_iconv_handler ( string contents, int status)

It converts the string encoded in internal_encoding to output_encoding.

internal_encoding and output_encoding should be defined by iconv_set_encoding() or in the configuration file php.ini.

例子 1. ob_iconv_handler() example:

ob_start("ob_iconv_handler"); // start output buffering

php中iconv函数使用方法,解决中文乱码

iconv函数库能够完成各种字符集间的转换,是php编程中不可缺少的基础函数库。  1、下载libiconv函数库libiconv-1.x.tar.gz;  2、解压缩tar -zxvf ...
  • zhx1259135417
  • zhx1259135417
  • 2014年11月25日 17:35
  • 7002

PHP iconv()字符编码转换的问题

在php函数库有一个函数:iconv(),iconv函数库能够完成各种字符集间的转换,是php编程中不可缺少的基础函数库。最近在做一个小偷程序,需要用到iconv函数把抓取来过的utf-8编码的页面转...
  • tashanhongye
  • tashanhongye
  • 2015年12月17日 20:47
  • 691

php处理多字节字符mbstring及编码转换iconv

由于php内部使用单字节形式存储数据。这使得php在处理多字节文字的时候先天欠缺。只要是对数据进行原样处理。不进行计数,截取等。一般问题也不大,不幸的是对中文等多字节字符的截取,计数是一个很常见的问题...
  • frycn
  • frycn
  • 2017年04月11日 16:57
  • 503

iconv使用方法

iconv使用方法 在多线程环境中,iconv本身是不支持多线程安全的。 比如在代码段中: iconv_t cd = iconv_open(tocode, fro...
  • yangyangye
  • yangyangye
  • 2014年10月16日 15:13
  • 3398

正确的iconv使用方法

网上典型的代码是这一段: char* ConvertEnc( char *encFrom, char *encTo, const char * in) { static char bufin[...
  • shining100
  • shining100
  • 2013年02月06日 21:47
  • 1684

【wordpress】一些优化代码汇总-functions.php(模板函数)

function.php //判断当前语言 function is_lang($lang) { return (ICL_LANGUAGE_CODE == $lang) ? true : fal...
  • wzl505
  • wzl505
  • 2017年03月08日 11:57
  • 571

利用iconv进行GB2312和Unicode的互转

利用iconv函数族进行编码转换 在LINUX上进行编码转换时,既可以利用iconv函数族编程实现,也可以利用iconv命令来实现,只不过后者是针对文件的,即将指定文件从一种编码转换为另一种编码。 ...
  • rankun1
  • rankun1
  • 2016年03月16日 16:38
  • 1187

OSX下为php安装redis扩展~~~

configure: error: Please specify the install prefix of iconv with --with-iconv=
  • qdujunjie
  • qdujunjie
  • 2014年06月19日 13:53
  • 9502

php5.6新特性

  • qq_36030288
  • qq_36030288
  • 2017年01月06日 18:20
  • 304

iconv 的 使用注意

#include #include #include #include int main() { char *dest = NULL; size_t destSize = 0; ...
  • vevenlcf
  • vevenlcf
  • 2016年07月28日 09:12
  • 775
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php中的iconv functions
举报原因:
原因补充:

(最多只允许输入30个字)