Articles of UTF 8

UTF8在traslation中丢失,HTML表单从/到mysql

一个带有utf-8字符集的HTML表单被存储到一个mysql数据库(在linux和windows中) 那么这个表格就是从那个数据库里填充的,真是意外! 我保存的 变成了一个丑陋的 任何想法可以发生什么? 我已经configurationmy.ini的默认字符集= UTF8,与php.ini相同与default_charset =“utf-8” 我已经添加了<meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> 到HTML 我试图使用PHP iconvfunction,utf8_encode,configuration整理到utf8 … 我不知道utf8发生了什么,谢谢你的任何build议

如何创build具有非ASCII文件名的Windows本机兼容Zip文件

我们的团队有一个生成用Java编写的PDF的程序。 可以使用非ASCII文件名的PDF使用Apache Commons Compress进行压缩。 然后将zipfile upload到S3,由Windows和Mac客户端下载。 使用本地工具在Mac上解压缩时,文件将以正确的文件名重新创build。 但是,当试图使用本地Windows UI工具解压缩时,文件名被错误地创build。 压缩过程是: import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; 我添加了下面的代码,它仍然不能正常工作,在Windows上显示不可读的字符: zipFile.setEncoding("UTF-8"); zipFile.setUseLanguageEncodingFlag(true); zipFile.setCreateUnicodeExtraFields(ZipArchiveOutputStream.UnicodeExtraFieldPoli‌​cy.ALWAYS); 我如何创build可以被Mac和Windows使用的zip文件?

在gvim窗口标题中编码问题

我在Windows 10机器上运行gVim 7.4。 系统版本是单语言西里尔(不能改变这个)。 非Unicode程序的语言设置为俄语。 _vimrc包含以下命令: set langmenu=en_US.UTF-8 set encoding=utf-8 set guifont=Lucida_Console:h14 (这个字体有西里尔字形) 然而,窗口标题和几个命令的输出包含一些乱码。 我的猜测是gvim试图用俄语打印某些东西,但是失败了。 这种行为的一个例子(注意窗口标题,输出和最后一个命令的邀请): 这里最好的行动是什么? 我应该把什么放入_vimrc(或调整我的操作系统),使这个乱码可读? 任何意见将是有益的。 我的_vimrc完整列表: set langmenu=en_US.UTF-8 filetype plugin on set shellslash filetype indent on set grepprg=grep\ -nH\ $* set encoding=utf-8 set backspace+=start syntax enable if has('gui_running') set guifont=Lucida_Console:h14 set background=light set guioptions-=T else set background=dark endif colorscheme solarized let […]

像“\ f222”之类的材质devise图标在跨Linux和Windows环境共享时会发生变化

当我和一位使用Linux的同事一起工作在同一个仓库时,在我的窗户上开发时,我们总是与资产被缩小的矛盾。 这是与材料devise图标库,其中之前的元素包含内容的代码:“\ f222”; 如果我咕on一声,而git推这个,它会在Linux环境下转换成不同的代码。 如果我的团队在Linux上执行这个操作,我也一样。 我怎样才能确保这不会发生? 这只是这个图书馆的情况。 一切工作正常(使用phpstorm进行编码)。

Unicode Python Windows Consle

我有一个二十一点游戏的程序。 它没有完成,但我有一个Unicode的问题。 当它打印一个string时,它的格式不正确(Look Below)。 这是Python 3。 from unicurses import * import sys import time from random import choice as rc import random def total(hand): #total aces = hand.count(11) t = sum(hand) if t > 21 and aces > 0: while aces > 0 and t > 21: t -= 10 aces -= 1 return t […]

使用LDAP从当前域用户获取Active Directory属性

开发环境:Windows一些商业上可用的LDAP-Client-Lib MinGW-gcc C – 不是C ++或C# 我发现以下LDAP客户端库和示例: Novell OpenLDAP OpenLDAP libldap Microsoft LDAP Lib https://msdn.microsoft.com/en-us/library/aa367033(v=vs.85).aspx https://msdn.microsoft.com/en-us/library/aa366102(v=vs.85).aspx https://msdn.microsoft.com/en-us/library/aa367016(v=vs.85).aspx 它需要基于C(所以我认为没有ADSI),我需要获得当前域用户的所有属性的列表(用于过滤),我不知道从哪里开始 – 我是一个有经验的C / C + +用户,但从来没有使用AD / LDAP的东西 谢谢 更新#1 即时通讯能够使用WINAPI获取用户和域名,查找/查找域的AD / LDAP服务器,并可以连接和检索有关用户的一些信息,通过使用ldap_search_s 我仍然没有完全取消ldap_search_s base,filter和attributes的值应该是从我的testuser(如first,lastname,fullname等)中检索所有(一级)属性。 我目前的testing使用这个基础,从一个例子过滤和属性值来获得一些(我的第一个)结果 base = "OU=Domain User,OU=TESTDOMAIN,DC=testdomain,DC=local" filter = "(&(objectClass=user)(sAMAccountName=testuser))" attrs = "memberOf" 这给了我(我认为)testuser所属的组 即时通讯目前只获得用户的login名(testuser) – 它认为这是sAMAccountName – 属性值 – 所以使用 CN = testuser,OU […]

什么是Windows命令行参数编码?

Windows使用什么编码传递给在cmd.exe窗口中启动的程序的命令行参数? 命令行参数的编码似乎没有受到使用chcp的控制台代码页设置的影响(我将它设置为UTF-8,代码页65001并使用Lucida Console字体)。 如果我将一个EN DASH(编码为E28093)从UTF-8文件粘贴到命令行中,它将在cmd.exe窗口中正确显示。 但是,当它被传递给程序时,它似乎被转换为hex96(ANSI表示)。 如果将西里尔文字符粘贴到命令行中,则它们也会正确显示,但会以问号(hex3F)出现在程序中。 如果我复制命令行并将其粘贴到文本文件中,则生成的文件是UTF-8; 它包含与源文件相同的EN DASH和西里尔文字符编码。 看来粘贴到cmd.exe窗口中的字符被捕获并使用chcpselect的代码页来显示,但是一些ANSI代码页被用来将字符转换成不同的编码,然后将它们作为parameter passing给程序。 无法转换的字符显然会被转换为问号。 所以,如果我想正确处理程序中的命令行参数,我需要确切地知道参数的编码是什么。 例如,如果我想将命令行参数与从文件中读取的已知UTF-8数据进行比较,则需要将参数从正确的编码转换为UTF-8。 谢谢。

为什么窗口中第一行文件的第一个字符是0?

所以我正在阅读Java中的纯文本文件,我想确定哪些行以“abc”开头。 我做了以下几点: 字符集字符集= StandardCharsets.UTF_8; BufferedReader br = Files.newBufferedReader(file.toAbsolutePath(),charset); string行; while((line = br.readLine())!= null){ if(line.startsWith(“abc”)){ // 做一点事 } } 但如果文件的第一行是“abcd”,则不匹配。 通过debugging,我发现第一个字符是一个0(不可打印的字符),因此它不会匹配。 为什么? 我如何可靠地确定哪些行以“abc”开头? 编辑:也许我应该指出,我用记事本创build文件

用chcp 65001打印的Windows UTF-8 – 字符被神秘地复制

这是我无法理解的一件事: 我使用的是Windows 7和Strawberry Perl 5.20,我想用chcp 65001将UTF-8编写到控制台(cmd.exe)。 UTF-8字符本身出现的很好,甚至> 255,但有一些字符的神秘重复(这只会发生,如果我不redirect到一个文件) 编辑:我现在已经看到另一个职位,在最后八位字节重复当我有一个问题- 重复 – 当我的程序输出一个utf-8 – 解决scheme是注入一个binmode(标准输出,'unix :encoding(utf8):crlf')到Perl程序 – 我已经testing,现在工作正常 感谢大家看到这个奇怪的问题。 简而言之,我写了一个UTF-8string(chr(300)x 3).chr(301)。“UVW \ x {0A}”,当我redirect到一个平面文件,然后打印平面文件,一切都很好。 但是,当我直接打印到控制台时,有些字符会被神秘地复制(我在说单独的字符“VW”中的字符),我不知道为什么 这是我的testing输出 Page de codes active : 65001 Redirected into a file: ———————– ĬĬĬĭUVW Printed directly: —————– ĬĬĬĭUVW VW IO-Layers = (unix crlf) C4ACC4ACC4ACC4AD5556570D0A 这是我的testing程序: @echo off chcp 65001 echo. set H1=BEGIN{binmode(*STDIN); […]

在Windows上使用UTF-8编码的TCL文件

我们尝试将TCL / TK应用程序的源文件转换为UTF-8,因为这是我们用于开发(Linux和OSX)的平台的默认字符集。 我们现在的问题是,Windows使用“cp1252”作为系统编码,并因此显示标签和button(例如)德语变音符号错误。 我们发现的唯一解决scheme是在所有的“希望”调用和“源”命令中加上“-encoding UTF-8”。 (也有“编码系统UTF-8”,但文件说,你不应该使用它,因为系统调用的问题) 有没有办法告诉TCL,它应该使用UTF-8作为所有源文件的默认编码,或者可能是针对这个问题的另一种解决scheme?