shirokichi.log

すぐに忘れる凡人エンジニアの備忘録。

MacのターミナルからLinuxサーバにログインすると"-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory"と表示され日本語が文字化けする

事象

今年に入ってからMacのターミナルからLinuxサーバにログインすると"-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory"というエラーが表示され日本語が全て???となってします。

原因

ローカルの設定がサーバ側に影響をしてる?

解決方法

Terminal

  1. メニューのターミナル -> 環境設定をクリックし環境設定ダイアログを開く
  2. プロファイルタブをクリック
  3. プロファイルページの詳細をクリック
  4. 下部の言語環境の起動時にロケール環境変数を設定にチェックが入っていたらチェックを外す

iTerm2

  1. メニューのiTerm -> Preferences をクリックし環境設定ダイアログを開く
  2. Profilesタブをクリック
  3. Profilesページの右側のTerminalをクリック
  4. 下部のEnvironmentの Set locale variables automaticallyにチェックが入っていたらチェックを外す

Symfony2 AcmeDemoBundleを削除する

Symfonyインストール時にデフォルトで入るAcmeDemoBundleは不要なので削除する

ディレクトリ移動
$ cd /path/to/Symfony
不要なソースを削除
$ rm -rf src/Acme
$ rm -rf web/bundles/acmedemo
AcmeDemoBundle の ルーティングを削除
$ vim app/config/routing_dev.yml
         :
# AcmeDemoBundle routes (to be removed)
_acme_demo:
    resource: "@AcmeDemoBundle/Resources/config/routing.yml"
AppKernel.php から AcmeDemoBundleを削除
$ vim app/AppKernel.php
<?php
         :
        if (in_array($this->getEnvironment(), array('dev', 'test'))) {
            $bundles[] = new Acme\DemoBundle\AcmeDemoBundle(); # <= 削除する
            $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
            $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
            $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
        }
         :
config.yml 修正 (security.ymlのimportsをコメント)
$ vim app/config/config.yml
imports:
    - { resource: parameters.yml }
#    - { resource: security.yml }
         :

Symfony2をcomposerでインストール

本家にサンプルコマンドが用意されているのでそれを使用する

  1. http://symfony.com/downloadへアクセスする

  2. Use Symfony2.3をクリックしCopyボタンをクリック

  3. インストール

$ composer create-project symfony/framework-standard-edition path/ "2.3.*"

※ path/ は任意のディレクトリを指定する
※ path/ で指定したディレクトリの中は空でないとインストール出来ない