Articles of UTF 8

用pcre 8.3在nginx上重写unicode url的规则失败

我遇到了类似于这个问题中描述的问题 。 但是,我设法得到最新的PCRE(8.30)编译nginx(1.0.14),改写重写规则使用UTF8,但它仍然失败。 我的重写规则是 location / { try_files $uri $uri/ /index.php; rewrite "(*UTF8)^/imgthumb/(.*)$" /timthumb.php?$1 last; } 这对没有unicode的图像工作正常,但当文件名包含unicode字符失败。 so /imgthumb/src=/wp-content/uploads/8姉妹の古いマトリョーシカ.jpg&h=121&w=137&zc=1 fails fails fails fails fails fails 但/imgthumb/src=/wp-content/uploads/MOD0005.jpg&h=121&w=137&zc=1 正常工作 。 在使用.htaccess重写规则的Apache上,它适用于两者 RewriteRule ^/imgthumb/(.*)$ /timthumb.php?$1 [L] 我的nginx重写规则错了吗? 有没有办法做到这一点? 更新:我注意到,这个问题似乎源于事实,PHP脚本只有一个参数(src)到$_GET数组与nginx,但与Apache重写它分解为不同的参数…

UTF-8不能用于nginx

我有一个自我托pipe的服务器在debian(raspbian wheezy)机器上运行nginx和PHP5-fpm。 我的问题是UTF-8特殊字符(åäö)无法正常工作。 我已经在网站的头部设置了<meta charset="utf-8"> 。 所有文件都使用utf-8编码,不含BOM。 正如Fleshgrinder的回答,我已经添加了charset utf-8; 到nginx.conf没有结果。 我怎样才能解决这个问题?

Mysql UTF-8意外字符整理

几年后,我从来没有觉得需要一个问题自己。 希望有人会指出我现在的东西。 这是问题: 这里是创build表查询(我剥离了外键): CREATE TABLE train_seat_class ( id smallint(5) unsigned NOT NULL AUTO_INCREMENT, code varchar(20) NOT NULL, capacity tinyint(3) unsigned DEFAULT '1', img varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL, supplier_id int(10) unsigned DEFAULT NULL, enabled tinyint(1) DEFAULT '1', int_descr varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL, sort_order smallint(5) unsigned DEFAULT '10', […]

Sed未能取代UTF-8编码

我正在尝试做一些文件内容转换。 我正在使用文本编码的Linux操作系统: echo $LANG en_US.UTF-8 我正在通过Window – > Translation – > Remote character set – > UTF-8从Puttyterminal进行访问 我有以下日志文​​件,我想要做转换: cat test.log | head 这是我在terminal中看到的/如果我用nano编辑文件/如果我将terminal内容复制并粘贴到Windows中的记事本中(注意在第一个IP之后注意三个破折号): 10.0.2.4 – – – Cookie= – [11/Jun/2014:12:51:48 +0000] "GET /hub/ HTTP/1.1" 302 0 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20140429 Firefox/24.0 Iceweasel/24.5.0" "1.1.1.1" 这是我看到,如果我复制/粘贴内容到这里/写字板在Windows(注意第一个IP后面只有一个破折号): 10.0.2.4 – Cookie= – [11/Jun/2014:12:51:48 +0000] "GET /hub/ […]

UTF-8字符编码在控制台(Linux)上不起作用

在我的Java程序中,我想输出这个字符:⊨ 它在Eclipse中工作,但不在我的bash控制台上。 这是我的主要: public static void main(String[] args) { System.out.println(System.getProperty("file.encoding")); System.out.println(Charset.defaultCharset().name()); String original = "\u22A8"; System.out.println("original = " + original); } 这是我在Eclipse内置控制台中的输出。 请注意,我设置了Run Configurations > Common > Encoding > Other > UTF-8 UTF-8 UTF-8 original = ⊨ 以java -Dfile.encoding=UTF-8 Main调用时,这是我在terminal上的输出 UTF-8 UTF-8 original = ⨠当用java Main调用时,这是我在terminal上的输出 ANSI_X3.4-1968 US-ASCII original = ? 我怎样才能让它在控制台上工作?

在ISO-8859中反转的感叹号和问号

我需要在字幕文件中replace倒置的感叹号和倒置问号,以便在我的电视上正确显示。 这些文件在ISO-8859中正常工作,但我无法删除标记。 第一个解决scheme是使用命令“ sed ”: sed s/\¿|¡//g "$FILE" 这适用于UTF-8文件,但ISO-8859文件的正确解决scheme是什么? 例如, sed 's/\xBF//g'不起作用。

readdir()在Linux有时不会返回正确的stringutf8

我有一个文件名称为的文件夹 01一千个伤心的理由 张学友 但有时readdir()只是简单的返回所有????????? 作为文件的名称。 我在谷歌上search这个,发现readdir在一些系统上有一些utf-8的问题(比如这个 )。 我读了对吗? 如果在Linux上,这是问题,那么有没有解决办法? 编辑问题是,实际上有两个脚本(一个是我的,还有另一个),这是在两个不同的path上安装相同的设备。 我挂载为utf-8但另一个不挂载为utf-8 (它可能在默认模式下)。 所以,如果我的脚本在重新启动或设备插入时首先运行,一切都很好。 否则,问题就来了。 所以问题是为什么这两个坐骑影响另一个,我该如何纠正?

Unicode代码指向utf8和wctomb

我正在寻找方法将unicode codepoints转换为utf8。 到目前为止,我已经学会了我可以手动或使用iconv。 我也认为wctomb会起作用,但它不会: #include <stdio.h> #include <stdlib.h> #include <arpa/inet.h> #define CENTER_UTF8 "\xf0\x9d\x8c\x86" #define CENTER_UNICODE 0x1D306 int main(int argc, char** argv) { puts(CENTER_UTF8); //OK static char buf[10]; int r; #define WCTOMB(What) \ wctomb(NULL,0); \ r=wctomb(buf,What); \ puts(buf); \ printf("r=%d\n", r); //Either one fails with -1 WCTOMB(CENTER_UNICODE); WCTOMB(htonl(CENTER_UNICODE)); } 可能有人请向我解释为什么wctomb不会将unicode代码转换为utf8。 我在Linux上使用utf8语言环境。

我可以从Linux命令行打印UTF-8编码的文件吗?

enscript不支持utf-8,我见过的唯一的其他build议是使用lpr : lpr -o document-format=text/utf8 file_to_print 但是会产生“不支持的格式”错误。 (Ubuntu 9.04 / GNOME Terminal 2.26.0)

需要将UTF8和UTF16 .csv文件转换为ASCII

我有脚本将UTF8格式的.csv文件转换为ASCII格式。 现在我想要转换UTF16文件,如果文件是ASCII保持原样。 我正在使用下面的代码单独更改UTF8和UTF16。 帮助这个在一个单一的脚本。 #/bin/bash for i in *.csv do iconv -c -f UTF-8 -t ISO-8859-1 $i -o $i."utf8" mv $i."utf8" $i done 谢谢