プロジェクト

全般

プロフィール

バグ #45

未完了

redmineで相変わらず文字コード由来のエラーが出る

nesotech Admin さんが1年以上前に追加. 約1年前に更新.

ステータス:
新規
優先度:
通常
担当者:
-
開始日:
2023/12/29
期日:
進捗率:

0%

予定工数:

nesotech Admin さんが1年以上前に更新

Django+MySQL Docker でutf8mb4を使う - 清水川のScrapbox
https://scrapbox.io/shimizukawa/Django+MySQL_Docker_%E3%81%A7utf8mb4%E3%82%92%E4%BD%BF%E3%81%86

この辺とか見てutf8mb4に変えたんだがなあ...

# cat docker-compose.yml
version: '3.1'

services:

  redmine:
    image: redmine
    restart: always
    ports:
      - 8080:3000
    environment:
      REDMINE_DB_MYSQL: db
      REDMINE_DB_PASSWORD: redmine
      REDMINE_SECRET_KEY_BASE: HOGEHOGE
    volumes:
      - ./files:/usr/src/redmine/files
      - ./plugins:/usr/src/redmine/plugins
      - ./themes:/usr/src/redmine/public/themes

  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: redmine
      MYSQL_DATABASE: redmine
    volumes:
     - ./db:/var/lib/mysql
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

docker compose logs -f

redmine-redmine-1  | I, [2023-12-29T20:33:02.348623 #1]  INFO -- : Completed 500 Internal Server Error in 45ms (ActiveRecord: 10.3ms | Allocations: 13140)
redmine-redmine-1  | F, [2023-12-29T20:33:02.349687 #1] FATAL -- :
redmine-redmine-1  | ActiveRecord::StatementInvalid (Mysql2::Error: Incorrect string value: '\xF0\x9F\x98\x88\xF0\x9F...' for column 'description' at row 1):
redmine-redmine-1  |

mysqlコンテナの文字コード

mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | latin1                     |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)

nesotech Admin さんが1年以上前に更新

PostgreSQL から MariaDB(MySQL)へのマイグレで知っておきたかった事 - すぐ影響されるブログ
https://nagoyanofes.hatenadiary.jp/entry/2022/09/02/081426

DB間の違い
文字コード - MariaDBにテーブルを作る前に知っておきたいこと
MySQL系で言う utf8 は utf8 じゃない。

何を言ってるかわからないだろう。

つまりこれを読めということです。

???

nesotech Admin さんが1年以上前に更新

RedmineのデータベースをMySQLからPostgreSQLへ移行した #Redmine - Qiita
https://qiita.com/ryouma_nagare/items/c4ba5298dd283333bb85

nesotech Admin さんが1年以上前に更新

前回やった(はずの)こと

たしか,dumpして,utf8mb4でコンテナ作り直して,脳を破壊した記憶がある

root@redmine:~/redmine# history
  110  ls
  111  cat docker-compose.yml

  133  docker compose exec db mysqldump redmine -u root -p > ./redmine.sql
  134  ls
  135  cat redmine.sql
  136  docker compose down
  137  vim docker-compose.yml
  138  cp -r db/ db-utf8
  139  mv db db-utf8/
  140  ls
  141  docker compose up -d

  168  docker compose exec -T db mysql redmine -u root --password=redmine < redmine.sql
  169  docker compose exec -T db mysql redmine -u root -p
  170  docker compose exec -T db mysql -u root -p
  171  docker compose exec db bash
  172  docker compose logs -f
  173  cd redmine/
  174  docker compose logs -f
  175  vim docker-compose.yml
  176  docker compose exec db bash
  177  cat docker-compose.yml
  178  history

nesotech Admin さんが約1年前に更新

@neso https://gitlab.com/-/snippets/3637571

自宅鯖の Redmine がまさかの utf8 になってて絵文字が駄目だった (ウケる) ので、マイグレーション手順を実践することになってしまいました。動確済みですのでご査収ください https://mastodon.cardina1.red/@lo48576/111728840469443770

他の形式にエクスポート: Atom PDF