回复:UTF-8、PHP和XML Mysql
这是一个与之相关的问题,我仍在努力解决这个问题 我有几个单独的问题,希望能帮助我理解如何解决我遇到的问题 我试图从数据库中读取值,并以UTF-8格式输出到文件中。但是我有编码问题,所以我想我应该从以下开始删除我的所有代码:回复:UTF-8、PHP和XML Mysql,php,vim,encoding,utf-8,Php,Vim,Encoding,Utf 8,这是一个与之相关的问题,我仍在努力解决这个问题 我有几个单独的问题,希望能帮助我理解如何解决我遇到的问题 我试图从数据库中读取值,并以UTF-8格式输出到文件中。但是我有编码问题,所以我想我应该从以下开始删除我的所有代码: $string = "Otivägen"; // then output to a file. 但是在vim中,我甚至无法输入该字符串,每次我粘贴它时,我都会得到OtivÃgen 我试图创建一个只有该字符串的空白PHP文件并将其上载,但当我再次cat该文件时,我得到了Oti
$string = "Otivägen";
// then output to a file.
但是在vim
中,我甚至无法输入该字符串,每次我粘贴它时,我都会得到OtivÃgen
我试图创建一个只有该字符串的空白PHP文件并将其上载,但当我再次cat
该文件时,我得到了OtivÃgen
我的问题是
vim
像这样显示它
这个目前我对编码的理解是有限的,我正在努力理解它。在Vim中,编码有很多混乱。有两种编码设置,
'encoding'
和'fileencoding'
'encoding'
是与当前vim会话相关的一个会话-我一直将其保留为“utf-8”,但是我只使用gVim或启用unicode的终端
'fileencoding'
是文件本身的编码,它是自动检测的,或者可以用设置(++enc
)或我相信的模型线覆盖。它是根据'fileencodings'
选项检测到的
试试这个:
vim
:set encoding=utf-8
:e ++enc=utf-8 test_file.php
i
$string = "Otiv<Ctrl-K>a:gen";
:w
另见
这可能不是vim问题-如果您的终端软件未设置为utf-8,那么无论vim在做什么,您都会看到上述问题。我尝试了:gvim++enc=utf-8 test.me“-bash:gvim:command not found”所以我尝试了:vim++enc enc=utf-8 test.me“test.me”1L,处理命令行时检测到23C错误:E492:不是编辑器命令:+enc=utf-8我错在哪里?我怀疑您的Vim没有使用多字节支持编译。
:echo有('multi_byte')
说什么?如果它不是“1”,那么您几乎肯定没有启用unicode的vim,因此您需要安装另一个vim或自己编译它。这两个都不难:哪个操作系统?:echo有('multi_byte')。它会输出1Oops,我的坏:我在滥用++enc。试试上面编辑的指令。还是没有运气!我真的很讨厌编码
/文件编码
!您正在使用哪个版本的VIM?你的终端能显示ä字符吗?你的语言环境是什么?(终端中locale
的输出?)如果您将整个系统切换到UTF-8语言环境,可能会有所帮助。尽管这会使您对所有非UTF-8文件名产生混乱:-(
:help 'encoding'
:help 'fileencoding'
:help 'fileencodings'
:help ++enc
:help modeline