jjzjj

php - iconv 还是 mbstring?

我应该使用哪个多字节处理库:iconv或mbstring?经过一些谷歌搜索后,我没有找到足够的论据说服我特别使用一个,而且我无法获得任何基准(而且我懒得创建一个:-p)。毕竟也许这个选择并不重要?感谢您的任何建议。 最佳答案 我倾向于结合使用两者-取决于我的需要。我使用iconv将一个字符集转换为另一个字符集,但使用mbstring进行更简单的操作,如mb_strtoupper()和mb_stristr()。但是,如果只需要其中一个库,我建议纯粹使用mbstring,因为它具有广泛的功能和易用性。

android - 编译 vlc-android 不工作 - 找不到 iconv

我正在尝试根据本手册从源代码编译vlc-android。AndroidCompile我收到这个错误:CCsrc/smb_utils.losrc/smb_utils.c:32:19:fatalerror:iconv.h:Nosuchfileordirectory#include^compilationterminated.make[1]:***[src/smb_utils.lo]Error1最后是:checkingforiconv...no,considerinstallingGNUlibiconvconfigure:error:iconv()notfoundmake:***[.zvbi

c++ - 在 Win32 中构建最新的 iconv 和 libxml2 二进制文件

我正在尝试让MinGW和MSYS工作,以便我可以在Windows中构建iconv和libxml2,但我发现./configure和make给出了很多BSD/Unix相关的错误,这些错误不够具体到谷歌,描述性不足以让我弄明白。任何人都可以完成在Win32机器上构建iconv和libxml2.dll/.lib所需的一些步骤吗?我正在更新一些软件的库,我今天整天都在摆弄这个,但还没弄明白。我得到了最新的libpng、zlib和curl,没有任何问题,但我发现这些库没有像其他库那样的太多支持或操作方法。任何帮助将不胜感激,提前感谢您的宝贵时间。詹姆斯 最佳答案

php - 在 Windows 上使用 iconv() 进行音译

在Linux上,iconv()根据当前的区域设置将变音正确地音译为ASCII:$utf8_umlaut_a='ä';setlocale(LC_CTYPE,'en_US');iconv('UTF-8','ASCII//TRANSLIT',$utf8_umlaut_a);//Gives'a'setlocale(LC_CTYPE,'de_DE');iconv('UTF-8','ASCII//TRANSLIT',$utf8_umlaut_a);//Gives'ae',correct//inGerman但是,在Windows上,我只能得到"a(即:双引号,a),而不管语言环境设置如何。显然在Wi

windows - windows下依赖iconv构建Haskell程序

我有一个依赖iconv的项目,因为我需要使用cp1251代码页。Hereis问题项目的最小实现。我已经从here安装了iconv并像这样成功安装了haskell包“iconv”cabalinstalliconv--extra-include-dirs="C:\GnuWin32\include"--extra-lib-dirs="C:\GnuWin32\lib"包iconv已正确安装,但依赖于它的项目在链接时失败,这是正在发生的事情。c:\iconvsmpl>cabalconfigure--extra-include-dirs="C:\GnuWin32\include"--extra-l

java - Java 中是否有 iconv with//TRANSLIT 等价物?

有没有办法在java中实现charsets之间字符的音译?类似于unix命令(或类似的php函数)的东西:iconv-fUTF-8-tASCII//TRANSLITnew_doc.txt最好对字符串进行操作,与文件无关我知道您可以使用String构造函数更改编码,但它无法处理不在结果字符集中的字符的音译。 最佳答案 我不知道有任何库完全按照iconv声称要做的(这似乎没有很好地定义)。但是,您可以使用"normalization"在Java中做一些事情,比如从字符中删除重音。此过程由Unicode标准明确定义。我认为NFKD(兼容性

c - 为什么在使用 libiconv 而不是 iconv 二进制文件时会得到不同的结果?

这是我使用的以UCS-2编码的示例字符串:abvgdđežzijklmnjoprstćuvhcčdžš1234567890*+;'当使用iconv二进制文件将UCS-2转换为isoISO-8859-1//TRANSLIT时,我得到:abvgd?ezzijklmnjoprstcuvhccdzs1234567890*+;'现在我想在go项目中使用libiconv。我正在使用这个库github.com/qiniu/iconv作为libiconv的绑定(bind)。但是当使用绑定(bind)时,我得到:abvgd?e?zijklmnjoprst?uvhc?d??1234567890*+;'这就

c - 为什么 iconv 命令输出到同一个文件被截断?

现在我有一些euc-jp编码的文件需要转换为utf-8编码。所以我在bash中使用iconv命令:iconvfoo.c-feuc-jp-tutf-8-ofoo.c但是出现了一个问题,它说:/usr/bin/iconv:illegalinputsequenceatposition30211并且文件被截断到一定大小(32~33KB)。但令人困惑的是如果我使用iconvfoo.c-feuc-jp-tutf-8#outputtoSTDOUTiconvfoo.c-feuc-jp-tutf-8-ofoo.c.utf8#outputtoanewfile它运行良好。所以我想这可能与BUFFER有关,有

linux - 如何使用 Bash 中的 iconv 递归重命名文件和文件夹

我一直在尝试使用iconv递归重命名文件和文件夹但没有成功,文件已正确重命名但文件夹没有。我用于文件的是(工作完美):find.-name*-depth\-execbash-c'mv"$1""${1%/*}/$(iconv-fUTF8-tASCII//TRANSLIT我对文件和文件夹的尝试(失败:仅重命名文件夹):find.-execbash-c'mv"$1""$(iconv-fUTF8-tASCII//TRANSLIT原始问题:我只想批量重命名很多文件,使它们“对网络友好”,比如删除空格、奇怪的字符等等,目前我有find.-name'*'-depth\|whilereadf;domv

c - 如何使用 iconv(3) 将宽字符串转换为 UTF-8?

我正在尝试使用iconv(3)通过以下代码将宽字符字符串转换为UTF-8。当我运行下面的命令时,iconv调用返回E2BIG,就好像输出缓冲区中没有足够的可用空间字节一样。尽管事实上(我认为)我已经调整了输出缓冲区的大小以允许UTF-8的最坏情况扩展,但还是会发生这种情况。事实上,假设输入是一个简单的ASCII“A”编码为wchar_t后跟一个零wchar_t终止符,输出应该恰好是两个字节/字符:一个“A”后跟一个“\0”。我的Linux系统上的“manutf-8”表示UTF-8字节序列的最大长度为6个字节,因此我相信对于2个wchar_ts(一个字符后跟空终止符)的输入缓冲区,使(在