标签: utf-8

UTF-8一路走来

我正在设置一个新服务器,并希望在我的Web应用程序中完全支持UTF-8.我过去曾在现有的服务器上尝试过此操作,但最终似乎不得不回归ISO-8859-1.

我在哪里需要设置编码/字符集?我知道我需要配置Apache,MySQL和PHP来执行此操作 - 是否有一些我可以遵循的标准清单,或者可能是在出现不匹配的地方进行故障排除?

这适用于运行MySQL 5,PHP,5和Apache 2的新Linux服务器.

php mysql linux apache utf-8

1146
推荐指数
13
解决办法
15万
查看次数

utf8_general_ci和utf8_unicode_ci之间有什么区别?

utf8_general_ci和之间utf8_unicode_ci,性能方面有什么不同吗?

mysql unicode collation utf-8 character-set

998
推荐指数
7
解决办法
38万
查看次数

783
推荐指数
17
解决办法
54万
查看次数

使用UTF8编码的Excel到CSV

我有一个Excel文件,其中包含一些西班牙语字符(波浪号等),我需要将其转换为CSV文件以用作导入文件.但是,当我另存为CSV时,它会破坏非特殊的西班牙语字符,而不是ASCII字符.它似乎也是用左右引号和长短划线来做的,它们似乎来自原始用户在Mac中创建Excel文件.

由于CSV只是一个文本文件,我确信它可以处理UTF8编码,所以我猜它是一个Excel限制,但我正在寻找一种从Excel到CSV并保留非ASCII字符的方法完整.

csv excel encoding utf-8

587
推荐指数
15
解决办法
75万
查看次数

为什么现代Perl默认会避免使用UTF-8?

我想知道为什么使用Perl构建的大多数现代解决方案默认情况下不启用UTF-8.

我知道核心Perl脚本存在许多遗留问题,可能会破坏它们.但是,从我的角度来看,在21 的世纪,新的大项目(或具有大的方面讲项目)应该从头开始他们的软件UTF-8的证明.我仍然没有看到它发生.例如,Moose启用严格和警告,但不启用Unicode.Modern :: Perl也减少了样板,但没有UTF-8处理.

为什么?是否有一些理由在2011年的现代Perl项目中避免使用UTF-8?


评论@tchrist太长了,所以我在这里添加它.

似乎我没有说清楚.让我尝试添加一些东西.

tchrist和我看到情况非常相似,但我们的结论完全是相反的.我同意,Unicode的情况很复杂,但这就是为什么我们(Perl用户和编码人员)需要一些层(或编译指示),这使得UTF-8处理变得像现在一样容易.

tchrist指出要涵盖的许多方面,我会阅读并思考它们几天甚至几周.不过,这不是我的观点.tchrist试图证明没有一种方法"启用UTF-8".我没有太多的知识可以与之争辩.所以,我坚持住实例.

我和Rakudo一起玩,UTF-8就在我需要的地方.我没有任何问题,它只是奏效了.也许在某些地方存在一些限制,但一开始,我测试的所有工作都按照我的预期进行.

这不应该是现代Perl 5的目标吗?我更强调一点:我不是建议将UTF-8作为核心Perl的默认字符集,我建议可以为那些开发项目的人快速触发它.

另一个例子,但更负面的语气.框架应该使开发更容易.几年前,我尝试过Web框架,但只是把它们扔掉了,因为"启用UTF-8"是如此模糊.我没有找到如何以及在何处挂钩Unicode支持.这是非常耗时的,我发现它更容易走老路.现在我看到这里有一个赏金来处理与梅森 2 相同的问题:如何让Mason2 UTF-8干净?.因此,它是一个非常新的框架,但使用UTF-8需要深入了解其内部.这就像一个大红色标志:停止,不要使用我!

我真的很喜欢Perl.但处理Unicode是痛苦的.我仍然发现自己在墙上奔跑.某种方式tchrist是正确的,并回答我的问题:新项目不吸引UTF-8,因为它在Perl 5中太复杂了.

unicode perl utf-8

555
推荐指数
6
解决办法
10万
查看次数

在字符集之间转换文本文件的最佳方法?

在字符集之间转换文本文件的最快,最简单的工具或方法是什么?

具体来说,我需要从UTF-8转换为ISO-8859-15,反之亦然.

一切顺利:您最喜欢的脚本语言的单行,命令行工具或OS,网站等的其他实用程序.

迄今为止的最佳解决方

在Linux/UNIX/OS X/cygwin上:

在带有Powershell的 Windows上(Jay Bazuzi):

  • PS C:\> gc -en utf8 …

unicode text utf-8 character-set

509
推荐指数
10
解决办法
47万
查看次数

UTF-8和Unicode有什么区别

根据维基百科的UTF-8页面,我听到了人们的相互矛盾的意见.

他们是一回事,不是吗?有人可以澄清吗?

unicode encoding terminology utf-8 character-encoding

462
推荐指数
15
解决办法
24万
查看次数

UTF-8,UTF-16和UTF-32

UTF-8,UTF-16和UTF-32有什么区别?

我知道他们都将存储Unicode,并且每个都使用不同的字节数来表示字符.选择一个优于另一个是否有优势?

unicode utf-8 utf-16 utf utf-32

459
推荐指数
11
解决办法
20万
查看次数

是否可以强制Excel自动识别UTF-8 CSV文件?

我正在开发一个应用程序的一部分,负责将一些数据导出到CSV文件中.该应用程序始终使用UTF-8,因为它在各个层面都具有多语言特性.但是在Excel中打开这样的CSV文件(包含例如变音符号,西里尔字母,希腊字母)并没有达到预期的结果?„/?¤, ?–/?¶.而且我不知道如何强制Excel理解打开的CSV文件是用UTF-8编码的.我也尝试过指定UTF-8 BOM EF BB BF,但Excel忽略了这一点.

有没有解决方法?

PS哪些工具可能像Excel一样?


UPDATE

我不得不说,我把社区与问题的表述混为一谈.当我提出这个问题的时候,我想要一种在Excel中打开UTF-8 CSV文件的方法,而不会给用户带来任何问题,而且流畅透明.但是,我使用了错误的配方要求自动执行此操作.这非常令人困惑,它与VBA宏自动化发生冲突.这个问题有两个我最欣赏的答案:Alex /sf/answers/420163691/的第一个答案,我接受了这个答案; 第二个是由Mark /sf/answers/454164931/稍后出现的.从可用性的角度来看,Excel似乎缺乏良好的用户友好型UTF-8 CSV支持,因此我认为这两个答案都是正确的,我首先接受了Alex的答案,因为它确实表明Excel无法做到这是透明的.这就是我在这里自动混淆的.Mark的答案为更高级的用户提供了一种更复杂的方式来实现预期的结果.这两个答案都很棒,但亚历克斯的答案更符合我未明确指出的问题.


更新2

五个月后,在最后一次编辑之后,我注意到Alex的答案因某种原因消失了.我真的希望这不是一个技术问题,我希望现在不再讨论哪个答案更大.所以我接受马克的答案是最好的答案.

csv excel utf-8

412
推荐指数
12
解决办法
46万
查看次数

在Python源代码中使用utf-8编码

$ cat bla.py 
u = unicode('d…')
s = u.encode('utf-8')
print s
$ python bla.py 
  File "bla.py", line 1
SyntaxError: Non-ASCII character '\xe2' in file bla.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
Run Code Online (Sandbox Code Playgroud)

如何在源代码中声明utf-8字符串?

python encoding utf-8 character-encoding

404
推荐指数
2
解决办法
82万
查看次数